- GenFORM: from Free Text to Operational Knowledge Rules
- Table of Contents
- Core Definitions
- 1. Objectives
- 2. Operational Knowledge Rules
- 3. Sources and Types of Dose Rules
- 4. Additional Information
- 5. Operational Structure of a Dose Rule
- 6. Selection and Calculation Constraints
- 7. Prescription Rules
- 8. Related Documents
- Appendices
- Appendix A. The Medication Treatment Cycle
- Appendix B.1. GenFORM Conceptual Architecture
- Appendix B.2. GenFORM Technical Architecture
- Addendum B.3. GenFORM Libraries
- Appendix C.1. Dose Rule Model Figure
- Addendum C.2. Dose Rule Model Table
- Addendum C.1. Reconstitution and Solution Rule Model Figure
- Addendum C.2. Reconstitution Rule Model Table
- Addendum C.3. Solution Rule Model Table
- Addendum D.1. Renal Rule Model Figure
- Addendum D.2. Renal Rule Model Table
- Addendum E.1. Product Component Model Figure
- Addendum E.2. Product Component Model Table
| Term | Definition |
|---|---|
| GenFORM | A generic formulary system that transforms free-text medication knowledge into fully computable Operational Knowledge Rules (OKRs). |
| Operational Knowledge Rule (OKR) | A fully structured, machine-interpretable and constraint-based representation of medication knowledge used for prescribing, preparation, and administration. |
| Dose Rule | An OKR that defines qualitative and quantitative constraints for dosing a specific generic in a defined clinical context. |
| Dose Limit | A set of numeric constraints defining the minimum, maximum, or normative allowable dose. |
| Dose | A patient-specific calculated dose value that satisfies all applicable constraints. Note that a dose can be per administration, per time unit, or rate unit and can be adjusted for patient weight or BSA. |
| Dose Type | The temporal category of dosing (e.g., once, timed, continuous). |
| Selection Constraint | A rule element used to determine which calculation constraints apply. |
| Calculation Constraint | A quantitative rule element used to compute dose, rate, volume, or timing. |
| Adjustment Unit | A patient normalization unit used to scale doses (e.g., kg for weight, m² for BSA). |
| Relative Adjustment | A renal or clinical adjustment expressed as a multiplier of the base dose. |
| Absolute Adjustment | A renal or clinical adjustment expressed as an absolute numeric replacement of a dose. |
| Reconstitution | The process of converting a medication into an administrable form by adding a diluent. |
| Expansion Volume | The increase in total volume resulting from reconstitution. |
| Solution | The process of further adjusting concentration and volume for safe administration. |
| Administration Fraction | The fraction of the prepared solution used to deliver the calculated dose. |
| Generic Product (GPK) | An abstract pharmaceutical product definition independent of branding. |
| Prescription Product (PRK) | A prescribable form of a generic product. |
| Trade Product (HPK) | A branded pharmaceutical product. |
| Consumer Product (ZInr) | A retail package variant of a trade product. |
The aim of GenFORM is to extract and structure expert medication-related knowledge, together with all additional operational information, so that medication can be automatically prescribed, planned, prepared, and administered (see Addendum A. The Medication Treatment Cycle).
GenFORM (Generic FORMulary) is a generic solution that produces Operational Knowledge Rules (OKRs): fully computable, constraint-based representations of all medication knowledge relevant to prescribing, preparing, and administering medication.
To create OKRs, free text or semi-structured clinical texts are transformed into a fully structured and machine-interpretable format. The resulting OKRs define explicit constraints on indications, dosing, scheduling, preparation, administration, product availability, and patient-specific parameters.
Because OKRs are expressed as constraints, they can be used by a constraint-solving engine to compute all valid options for a given clinical context. The user selects the most appropriate option, and this selection acts as an additional constraint that further narrows the solution space. Consequently, every option presented—and every option chosen—remains, by definition, within the boundaries defined by the OKRs and is therefore guaranteed to be valid.
OKRs should allow for:
- Selecting the specific scenario determined by:
- The indication and
- The medication (generic naming) and
- The route of administration and/or
- The pharmaceutical form and
- The type of dosing
In addition, the following context information for a specific patient and clinical situation is required:
- The setting: location/department and
- The patient: gender, and min/max ranges for age, weight, body surface area (BSA), gestational age, and post-menstrual age.
Together, all of the above rule items form a constraint qualifying system that determines which actual quantitative dose rule settings are applicable. These quantitative settings are:
- The specific available medication product assortment that can be used
- Dose schedule settings and
- Dose limit settings
The dose schedule settings contain all quantitative constraints to allow calculation of the dose scheduling, the dose limit settings contain the quantitative constraints to allow calculation of the actual dose.
Finally, dose adjustment rules like renal rules can apply that are used to adjust schedule and/or dose limit settings.
Currently, dose rules are defined across multiple source documents and repositories. These rules can be categorized into two primary types:
- Dose checking rules: Rules that verify whether a prescribed dose falls within acceptable margins, primarily ensuring that no over- or underdosing occurs.
- Dose advice rules: Rules that specify recommended exact dose(s) within the boundaries set by the checking rules or that enable calculation of exact dose(s).
Dose checking rules are maintained in the national registry, the G-Standaard. More specific dose advice rules are available in several additional sources:
- Farmacotherapeutisch Kompas: contains dose advice rules for adults and part of the pediatric population.
- Kinderformularium: contains all pediatric dose advice rules.
- SWAB (Stichting Werkgroep Antibiotica Beleid) guidelines: contain antibiotic-specific dose advice rules.
- Oncology protocols: contain dose advice rules for oncology medications.
- Local protocols: contain hospital- or specialty-specific dose advice rules.
To establish a structured and operational knowledge-rule system that supports prescribing, planning, preparation, and administration, additional information is required:
- Reconstitution rules: define how medication must be reconstituted to enable administration of, for example, a powder as a liquid.
- Solution rules: define requirements for the amount and/or concentration of liquid medication.
- Renal rules: used to adjust the dose advice according to the renal function (GFR normal, too low or too high).
- Product information: defines product availability, pharmaceutical forms, and parameters required for calculating the delivered dose.
Reconstitution and solution rules are typically summarized in parenteralia, while the corresponding information for oral medication is provided in oralia.
For renal rules specific sections are available in the Kinderformularium or specific renal reference guidelines.
All required product information can be obtained from the G-Standaard.
In order to be available as an OKR, the dose rule needs to be structured so that:
- The context can be specified so it can be narrowed down to specifically one dose rule.
- The resulting dose rule needs to contain all information necessary to perform a full calculation of prescription, preparation and administration of a medication.
- Every possible dosing scenario should be able to be encoded as an operational dose rule structure.
This results in the dose rule structure as shown in Appendix D. The Dose Rule Structure.
All OKRs can be translated to either selection or calculation constraints. The selection constraints determine which calculation constraints are available. For every set of calculation constraints there is exactly one set of selection constraints that uniquely identifies the calculation constraints (i.e. the dose).
- Dose Rule
- Source
- Generic
- Indication
- Route
- Setting
- Patient
- Dose Type
- Component
- Substance
- Reconstitution Rule
- Generic
- GPK
- Form
- Route
- Setting
- Solution Rule
- Generic
- Form
- Route
- Indication
- Dose Type
- Setting
- Administration Access Device (e.g., CVL/PVL)
- Patient
- Dose
- Substance
- Renal Rule
- Source
- Generic
- Indication
- Patient
- Renal Function
- Dose Rule
- Schedule
- Duration
- Dose Limits
- Reconstitution Rule:
- Diluent Volume
- Expansion Volume
- Solution Rule:
- Volume
- Drip Rate
- Administration Fraction
- Dose
- Concentration
- Renal Rule
- Schedule
- Dose Adjustment (relative or absolute)
Dose-, Reconstitution-, Solution- and Renal rules are combined within a patient context and specific setting into a Prescription Rule. The Prescription Rule can, therefore, be used to generate an order determining, prescription, preparation and administration of an order.
GenFORM is part of the GenPRES transformation pipeline. The following documents provide additional context:
| Document | Description | Relationship |
|---|---|---|
| Core Domain Model | Central domain definitions and transformation pipeline | GenFORM is the Layer 1 component transforming free text to OKRs |
| GenORDER | Transforms OKRs to Order Scenarios | Consumes OKRs produced by GenFORM |
| GenSOLVER | Constraint solving engine | Provides algorithmic foundation used by GenORDER |
Free Text → [GenFORM] → OKRs → [GenORDER] → Order Scenarios → [GenSOLVER] → Quantitative Solutions
GenFORM occupies the first transformation stage, responsible for:
- Parsing free-text and semi-structured clinical texts
- Extracting Selection Constraints and Calculation Constraints
- Producing fully computable Operational Knowledge Rules (OKRs)
GenFORM defines Patient Categories (also referred to as "Patient" in rule tables)—these are types of patients characterized by demographic ranges (age, weight, BSA, gestational age). A Patient Category is not a specific individual but rather a classification used to determine which rules apply.
In contrast, GenORDER works with a specific Patient instance—an actual individual with concrete demographic values. GenORDER matches the Patient's attributes against GenFORM's Patient Categories to select the applicable OKRs.
For a specific patient, a matching property like BSA can be calculated from weight and height (e.g., Mosteller: $\mathrm{BSA}(m^2)=\sqrt{(\mathrm{height}{cm}\cdot\mathrm{weight}{kg})/3600}$).
| GenFORM Term | Related Term in Other Documents | Notes |
|---|---|---|
| Operational Knowledge Rule (OKR) | Rule (Core Domain) | Umbrella term for all computable rules |
| Dose Rule | Dose Rule (GenORDER) | Applied to specific patient context in GenORDER |
| Solution Rule | Solution Rule (GenORDER) | Formerly "DilutionRule" in some contexts |
| Patient (in rule tables) | Patient Category (GenORDER) | GenFORM defines categories; GenORDER matches patients |
| Selection Constraint | Filter Stage (GenORDER) | Determines rule applicability |
| Calculation Constraint | Solver Stage (GenORDER) | Provides quantitative bounds |
The below appendices provide graphical and table detailed representations of all rule related concepts.
In tables, mutually exclusive options are represented by a bar "|".
Free text is structured by GenFORM to operational structured knowledge rules and can be returned as human-readable text.
Classification:
- Free Text Sources
- Utility Library
- Domain Library
Libraries:
-
Informedica.Agents.Lib: Library using the FSharp MailboxProcessor to create message based agents.
- Capabilities:
- Message-based agent abstraction using F# MailboxProcessor
- Asynchronous, concurrent API execution model
- Specific low level agent implementations
- Capabilities:
-
Informedica.Logging.Lib: Library with advanced printing capabilities to enable human-readable logging for analysis.
- Capabilities:
- Human-readable logging and structured output for analysis
- Advanced printing and formatting capabilities
- Agent-based logging service
- Capabilities:
-
Informedica.NLP.Lib: Library using NLP to extract structured rules from free text.
- Capabilities:
- Natural language processing for rule extraction
- Conversion of free text to structured typed records
- Capabilities:
-
Informedica.OTS.Lib: Library to retrieve and send rules sets to the OTS server for storage and version control. Can also export and import rules sets as spreadsheets.
- Capabilities:
- Integration with OTS server for product and rule set storage and version control
- Rule set import/export to spreadsheet formats
- Can log import and export
- Can run as an agent based microservice
- Capabilities:
-
Informedica.GenUnits.Lib: Domain library handling complex value unit combinations and calculation.
- Capabilities:
- Complex value-unit combinations and dimensional analysis
- Unit conversion and validation
- Arithmetic operations on values with units
- Capabilities:
-
Informedica.ZIndex.Lib: Performs first parsing of products and rules from the ZIndex registry. Products can be used by GenFORM.
- Capabilities:
- Parsing of pharmaceutical products from ZIndex registry
- Initial rule extraction from ZIndex data
- Product catalog and formulary management
- Capabilities:
-
Informedica.ZForm.Lib: Additional processing of rules to more generic constructs. These rules can be used by GenFORM to check specific dose rules.
- Capabilities:
- Advanced rule processing and normalization
- Conversion of ZIndex rules to generic constructs
- Can store and retrieve products and rules in OTS
- Can log extraction messages
- Can run as an agent microservice
- Can be exposed via MCP host
- Capabilities:
-
Informedica.NKF.Lib: Library used to parse structured content from the Kinderformularium containing pediatric dosing rules.
- Capabilities:
- Parsing of pediatric dosing guidelines from Kinderformularium
- Structured pediatric dosing rules
- Can log extraction messages
- Can run as an agent based microservice
- Capabilities:
-
Informedica.FTK.Lib: Library used to parse structured content from the Farmacotherapeutisch Kompas containing pediatric dosing rules.
- Capabilities:
- Parsing of adult dosing guidelines from Farmacotherapeutisch Kompas
- Structured adult dosing rules
- Can log extraction messages
- Can run as an agent based microservice
- Capabilities:
-
Informedica.GenFORM.Lib: Handles all rule sets and combines those with products creating specific patient context prescription rules.
- Capabilities:
- Unified rule set management across all sources
- Patient-context-specific prescription rule generation
- Product-rule combination and validation
- Can store and retrieve products and rules in OTS
- Can log all rule retrieval messages
- Can run as an agent based microservice
- Can be accessed as a MCP service
- Capabilities:
-
Informedica.MCP.Lib: Library enabling a MCP implementation and using LLMs.
- Capabilities:
- Model Context Protocol (MCP) framework implementation in F#
- LLM-powered extraction of structured typed records from free text
- Agent-based MCP service execution
- Can host ZForm, GenFORM, GenORDER
- Capabilities:
| Object | Variable | Type | Unit | Key | Description |
|---|---|---|---|---|---|
| Source | Name | text | yes | The source of the dose rule | |
| Source | Text | text | yes | The source dose description | |
| Generic | Name | text | yes | The generic name | |
| Generic | Form | text | yes | Pharmaceutical form to narrow down the dose rule | |
| Generic | Brand | text | yes | A brand to narrow down the dose rule | |
| Generic | GPKs | text list | A list of GPKs to narrow down the dose rule | ||
| Indication | Indication | text | yes | The indication (label) for the dose rule | |
| Route | Route | text | yes | The route | |
| Setting | Location | text | Hospital/institute/organization | ||
| Setting | Department | text | yes | The department | |
| Patient | Gender | male / female | yes | The gender | |
| Patient | MinAge | int | day | yes | The minimum age |
| Patient | MaxAge | int | day | yes | The maximum age |
| Patient | MinWeight | int | gram | yes | The minimum weight (in gram) |
| Patient | MaxWeight | int | gram | yes | The maximum weight |
| Patient | MinBSA | float | m2 | yes | The minimum bsa |
| Patient | MaxBSA | float | m2 | yes | The maximum bsa |
| Patient | MinGestAge | int | day | yes | The minimum gestational age |
| Patient | MaxGestAge | int | day | yes | The maximum gestational age |
| Patient | MinPMAge | int | day | yes | The minimum post-menstrual age |
| Patient | MaxPMAge | int | day | yes | The maximum post-menstrual age |
| DoseType | DoseType | once / onceTimed / discontinuous / timed / continuous | yes | The dose type of the dose rule | |
| DoseType | DoseText | text | A label for a dose type | ||
| Schedule | Freqs | int list | count_unit / freq_unit | The possible frequencies | |
| Schedule | FreqUnit | text | The freq unit | ||
| Schedule | MinTime | float | time_unit | The minimum time for infusion of a dose | |
| Schedule | MaxTime | float | time_unit | The maximum time for infusion of a dose | |
| Schedule | TimeUnit | text | The time unit to measure the infusion | ||
| Schedule | MinInt | float | int_unit | The minimum interval between two doses | |
| Schedule | MaxInt | float | int_unit | The maximum interval between two doses | |
| Schedule | IntUnit | text | The interval unit | ||
| Schedule | MinDur | float | dur_unit | The minimum duration of the dose rule | |
| Schedule | MaxDur | float | dur_unit | The maximum duration of the dose rule | |
| Schedule | DurUnit | text | The duration time unit | ||
| Component | Component | text | The component the substance belongs to | ||
| Substance | Substance | text | The substance used for the below fields | ||
| DoseLimit | DoseUnit | text | The dose unit | ||
| DoseLimit | AdjustUnit | kg / m2 | The adjust unit | ||
| DoseLimit | RateUnit | text | The rate unit | ||
| DoseLimit | MinQty | float | dose_unit | The minimum dose quantity | |
| DoseLimit | MaxQty | float | dose_unit | The maximum dose quantity | |
| DoseLimit | MinQtyAdj | float | dose_unit / adjust_unit | The minimum adjusted dose quantity | |
| DoseLimit | MaxQtyAdj | float | dose_unit / adjust_unit | The maximum patient-adjusted dose quantity | |
| DoseLimit | MinPerTime | float | dose_unit / freq_unit | The minimum dose quantity per time | |
| DoseLimit | MaxPerTime | float | dose_unit / freq_unit | The maximum dose quantity per time | |
| DoseLimit | MinPerTimeAdj | float | dose_unit / adjust_unit / freq_unit | The minimum patient-adjusted dose quantity per time | |
| DoseLimit | MaxPerTimeAdj | float | dose_unit / adjust_unit / freq_unit | The maximum dose adjusted quantity per time | |
| DoseLimit | MinRate | float | dose_unit / rate_unit | The minimum dose rate | |
| DoseLimit | MaxRate | float | dose_unit / rate_unit | The maximum dose rate | |
| DoseLimit | MinRateAdj | float | dose_unit / adjust_unit / rate_unit | The minimum patient-adjusted dose rate | |
| DoseLimit | MaxRateAdj | float | dose_unit / adjust_unit / rate_unit | The maximum patient-adjusted dose rate |
| Object | Property | Type | Unit | Key | Description |
|---|---|---|---|---|---|
| Generic | GPK | text | yes | The unique Generic Product Identifier | |
| Generic | Generic | text | The generic medication name | ||
| Generic | Form | text | The pharmaceutical form of the generic medication | ||
| Route | Route | text | yes | The route | |
| Setting | Location | text | yes | Hospital / institute / organization | |
| Setting | Department | text | yes | The department | |
| Solution | DiluentVol | float | mL | The volume of the diluent | |
| Solution | ExpansionVol | float | mL | The expansion volume | |
| Solution | Diluents | text list | The possible diluents that can be used |
| Object | Property | Type | Unit | Key | Description |
|---|---|---|---|---|---|
| Generic | Generic | text | yes | The generic name | |
| Generic | Form | text | yes | The pharmaceutical form name of the generic medication | |
| Route | Route | text | yes | The route | |
| Indication | Indication | text | yes | The corresponding matching dose rule indication | |
| DoseType | DoseType | once / onceTimed / discontinuous / timed / continuous | yes | The dosetype | |
| Administration Access Device | CVL | boolean | yes | Central Venous Line | |
| Administration Access Device | PVL | boolean | yes | Peripheral Venous Line | |
| Setting | Location | text | yes | Hospital / institute / organization | |
| Setting | Department | text | yes | The department | |
| Patient | MinAge | int | day | yes | The minimum age |
| Patient | MaxAge | int | day | yes | The maximum age |
| Patient | MinWeight | int | gram | yes | The minimum weight |
| Patient | MaxWeight | int | gram | yes | The maximum weight |
| SolutionRule | MinDose | float | unit | yes | The minimum dose |
| SolutionRule | MaxDose | float | unit | yes | The maximum dose |
| SolutionRule | Solutions | text list | The possible solutions that can be used | ||
| SolutionRule | Volumes | float list | mL | The possible volume quantities that can be used | |
| SolutionRule | MinVol | float | mL | The minimum volume | |
| SolutionRule | MaxVol | float | mL | The maximum volume | |
| SolutionRule | MinVolAdj | float | mL / kg | The minimum allowed solution volume | |
| SolutionRule | MaxVolAdj | float | mL / kg | The maximum allowed solution volume | |
| SolutionRule | MinDrip | float | mL / hour | The minimum allowed infusion rate | |
| SolutionRule | MaxDrip | float | mL / hour | The maximum allowed infusion rate | |
| SolutionRule | MinPerc | float | perc | The minimum percentage of the solution to use for the DoseQuantity | |
| SolutionRule | MaxPerc | float | perc | The maximum percentage of the solution to use for the DoseQuantity | |
| SolutionLimit | Substance | text | The substance used for the below fields | ||
| SolutionLimit | SubstUnit | text | The unit to measure the substance | ||
| SolutionLimit | Quantities | float list | subst_unit | The substance quantities that can be used | |
| SolutionLimit | MinQty | float | subst_unit | The minimum substance quantity | |
| SolutionLimit | MaxQty | float | subst_unit | The maximum substance quantity | |
| SolutionLimit | MinConc | float | subst_unit / mL | The minimum substance concentration | |
| SolutionLimit | MaxConc | float | subst_unit / mL | The maximum substance concentration |
| Object | Variable | Type | Unit | Key | Description |
|---|---|---|---|---|---|
| Generic | Generic | text | yes | The generic name | |
| Route | Route | text | yes | The route | |
| Indication | Indication | text | yes | The corresponding matching dose rule indication | |
| Source | Source | text | yes | The source of the renal rule | |
| Patient | MinAge | int | day | yes | The minimum age |
| Patient | MaxAge | int | day | yes | The maximum age |
| Renal | ContDial | boolean | yes | If continuous dialysis | |
| Renal | IntDial | boolean | yes | If discontinuous dialysis | |
| Renal | PerDial | boolean | yes | If peritoneal dialysis | |
| Renal | MinGFR | float | mL / min / 1.73 m2 | yes | The minimum standardized GFR |
| Renal | MaxGFR | float | mL / min / 1.73 m2 | yes | The maximum standardized GFR |
| DoseType | DoseType | once / onceTimed / discontinuous / timed / continuous | yes | Dose type | |
| DoseType | DoseText | text | yes | The dose type description | |
| Schedule | Freqs | int list | count / freq_unit | yes | The possible frequencies |
| Schedule | MinInt | float | int_unit | The minimum interval duration | |
| Schedule | MaxInt | float | int_unit | The maximum interval duration | |
| Schedule | IntUnit | text | The interval time unit | ||
| Substance | Substance | text | The matching substance for the DoseLimit | ||
| Adjustment | DoseRed | rel / abs | Whether the dose limit is relative or absolute | ||
| DoseLimit | DoseUnit | text | The dose substance dose unit | ||
| DoseLimit | AdjustUnit | text | The adjust unit (kg or m2) | ||
| Schedule | FreqUnit | text | The frequency time unit | ||
| Schedule | RateUnit | text | The rate time unit | ||
| DoseLimit | MinQty | float | count /dose_unit | The relative or absolute minimum dose quantity (renal adjustment) | |
| DoseLimit | MaxQty | float | count /dose_unit | The relative or absolute maximum dose quantity (renal adjustment) | |
| DoseLimit | NormQtyAdj | float | count /dose_unit / adjust_unit | The relative or absolute norm dose patient-adjusted quantity (renal adjustment) | |
| DoseLimit | MinQtyAdj | float | count /dose_unit / adjust_unit | The relative or absolute minimum dose patient-adjusted quantity (renal adjustment) | |
| DoseLimit | MaxQtyAdj | float | count /dose_unit / adjust_unit | The relative or absolute maximum dose patient-adjusted quantity (renal adjustment) | |
| DoseLimit | MinPerTime | float | count /dose_unit / freq_unit | The relative or absolute minimum dose per time (renal adjustment) | |
| DoseLimit | MaxPerTime | float | count /dose_unit / freq_unit | The relative or absolute maximum dose per time (renal adjustment) | |
| DoseLimit | NormPerTimeAdj | float | count /dose_unit / adjust_unit / freq_unit | The relative or absolute norm dose patient-adjusted per time (renal adjustment) | |
| DoseLimit | MinPerTimeAdj | float | count /dose_unit / adjust_unit / freq_unit | The relative or absolute minimum dose patient-adjusted per time (renal adjustment) | |
| DoseLimit | MaxPerTimeAdj | float | count /dose_unit / adjust_unit / freq_unit | The relative or absolute maximum dose patient-adjusted per time (renal adjustment) | |
| DoseLimit | MinRate | float | count /dose_unit / rate_unit | The relative or absolute minimum dose rate (renal adjustment) | |
| DoseLimit | MaxRate | float | count /dose_unit / rate_unit | The relative or absolute maximum dose rate (renal adjustment) | |
| DoseLimit | MinRateAdj | float | count /dose_unit / adjust_unit / rate_unit | The relative or absolute minimum patient-adjusted dose rate (renal adjustment) | |
| DoseLimit | MaxRateAdj | float | count /dose_unit / adjust_unit / rate_unit | The relative or absolute minimum patient-adjusted dose rate (renal adjustment) |
| Object | Prop | Type | Unit | Key | Description |
|---|---|---|---|---|---|
| GenPRES Product | Name | text | yes | The name of the GenPRES product. | |
| GenPRES Product | Form | text | yes | Shared pharmaceutical form for all included generic products. | |
| GenPRES Product | Routes | text list | yes | Routes of administration associated with the GenPRES product. | |
| GenPRES Product | PharmacologicalGroups | text list | Pharmacological groups applied to this product. | ||
| GenPRES Product | Unit | text | yes | Dose unit used at the GenPRES level (e.g., mg, mmol, IU). | |
| GenPRES Product | Synonyms | text list | Synonyms for searching and matching. | ||
| GenPRES Product | GenericProducts | Generic Product list | Generic products belonging to this GenPRES product. | ||
| Generic Product | Id (GPK) | int | yes | Generic product identifier (GPK). | |
| Generic Product | Name | text | yes | Full generic product name. | |
| Generic Product | Label | text | yes | Display label for the generic product. | |
| Generic Product | ATC | text | ATC-5 code for classification. | ||
| Generic Product | ATCName | text | ATC-5 description. | ||
| Generic Product | Form | text | yes | Pharmaceutical form. | |
| Generic Product | Routes | text list | yes | Routes of administration. | |
| Generic Product | Substances | ProductSubstance list | yes | Full substance composition of the generic product. | |
| Generic Product | PrescriptionProducts | Prescription Product list | Prescription products belonging to this generic product. | ||
| Product Substance | SubstanceId | int | Identifier of the substance. | ||
| Product Substance | SortOrder | int | Ordering index for display and naming. | ||
| Product Substance | SubstanceName | text | yes | Name of the active or additional substance. | |
| Product Substance | SubstanceQuantity | float | substance_unit | yes | Quantity of the substance. |
| Product Substance | SubstanceUnit | text | yes | Unit of the substance quantity. | |
| Product Substance | GenericId | int | Identifier of the underlying generic substance. | ||
| Product Substance | GenericName | text | Name of the generic (salt) substance. | ||
| Product Substance | GenericQuantity | float | generic_unit | Quantity of the generic substance. | |
| Product Substance | GenericUnit | text | Unit of measured generic substance. | ||
| Product Substance | FormUnit | text | Form-dependent unit (e.g., mg/mL). | ||
| Product Substance | IsAdditional | boolean | Whether substance is additional (not active). | ||
| Prescription Product | Id (PRK) | int | yes | Prescription product identifier (PRK). | |
| Prescription Product | Name | text | yes | Full prescription product name. | |
| Prescription Product | Label | text | yes | Display label for prescription product. | |
| Prescription Product | Quantity | float | form_unit | yes | Pharmaceutical form quantity. |
| Prescription Product | Unit | text | yes | Unit corresponding to Quantity. | |
| Prescription Product | Container | text | Container description. | ||
| Prescription Product | TradeProducts | Trade Product list | Trade products included under this prescription product. | ||
| Trade Product | Id (HPK) | int | yes | Trade product identifier (HPK). | |
| Trade Product | Name | text | yes | Full trade product name. | |
| Trade Product | Label | text | Display label. | ||
| Trade Product | Brand | text | yes | Brand/manufacturer’s product name. | |
| Trade Product | Company | text | Company/marketing authorization holder. | ||
| Trade Product | Denominator | int | Strength denominator used for concentration. | ||
| Trade Product | UnitWeight | float | unit | Strength or unit weight. | |
| Trade Product | Route | text list | Routes of administration. | ||
| Trade Product | Substances | Product Substance list | Substance composition at trade level. | ||
| Trade Product | ConsumerProducts | Consumer Product list | Consumer-level package variants. | ||
| Consumer Product | Id (ZInr) | int | yes | Consumer product identifier. | |
| Consumer Product | Name | text | Consumer product name. | ||
| Consumer Product | Label | text | Display label. | ||
| Consumer Product | Quantity | float | container_unit | yes | Pack quantity for consumer sale. |
| Consumer Product | Container | text | yes | Container description. | |
| Product Component | GPK | int | Generic product identifier. | ||
| Product Component | ATC | text | ATC classification code. | ||
| Product Component | MainGroup | text | Main pharmacological group. | ||
| Product Component | SubGroup | text | Subgroup classification. | ||
| Product Component | Generic | text | Generic name. | ||
| Product Component | UseGenericName | boolean | Whether generic name should be used for display. | ||
| Product Component | UseForm | boolean | Whether the pharmaceutical form should be included in naming. | ||
| Product Component | UseBrand | boolean | Whether brand name should be used. | ||
| Product Component | TallMan | text | Tall-Man lettering for LASA safety. | ||
| Product Component | Synonyms | text list | Search synonyms. | ||
| Product Component | Product | text | Product name generated for user-facing display. | ||
| Product Component | Label | text | Label used in UI/selection. | ||
| Product Component | Form | text | Pharmaceutical form. | ||
| Product Component | Routes | text list | Routes of administration. | ||
| Product Component | FormQuantities | float list | form_unit | List of form quantities (e.g., 5 mg, 10 mg). | |
| Product Component | FormUnit | text | Unit corresponding to form quantities. | ||
| Product Component | RequiresReconstitution | boolean | Whether the product requires reconstitution before use. | ||
| Product Component | Reconstitution | text | Description or parameters for reconstitution. | ||
| Product Component | Divisible | int | Divisibility of the dosage form. | ||
| Product Component | Substances | Substance Item list | Substance items associated with this component. |