OPERATIONS CONNECTORS
Data Mapping & Transformation
4 of 7Convert heterogeneous operational data into a consistent Mediloop operational model while preserving source semantics, identifiers, traceability, mapping versions and data quality.
Mapping ProcessCanonical ModelCode TranslationReference DataTransformation RulesData QualityExamples
Mapping Process
1
Source Payload
JSON, XML, CSV, EDI, SOAP/OData or vendor-specific data
2
Validation
Schema, required fields, type checks and business rules
3
Mapping Rules
Field mapping, code translation, unit/currency conversion and enrichment
4
Canonical Model
Normalized operational entities and relationships
5
Business Rules
Deduplication, source-of-truth and consistency checks
6
Mediloop Services
Operational workflows, events, dashboards and audit
Canonical Model
Product / SKU
Products, catalogs, barcodes, attributes
Supplier
Suppliers, contracts, performance and risk
Inventory
Stock, locations, warehouses and batches
Purchase Order
Orders, lines, approvals, status and timelines
Invoice
Invoices, payments and reconciliation
Cost Center
Departments, budgets and projects
Facility
Sites, buildings, rooms and resources
Asset / Equipment
Assets, maintenance and calibration
Workforce
Staff references, roles, schedules and skills
Contract
Commercial agreements and renewal metadata
Payer / Insurer
Operational payer/contract/remittance references
Delivery
Shipments, tracking and proof of delivery
Field Mapping
| Source field | Canonical field | Rule | Preserve source? |
|---|---|---|---|
| vendor_id | supplier.externalId | Trim + validate uniqueness | Yes |
| name | supplier.name | Direct mapping | Yes |
| address.country | supplier.address.country | ISO country normalization | Yes |
| vat_number | supplier.taxId | Format validation | Yes |
| currency | supplier.preferredCurrency | ISO 4217 validation | Yes |
| payment_terms | supplier.paymentTerms | Reference-data mapping | Yes |
Code Translation
| Domain | Source value | Mapped value | Standard / rule |
|---|---|---|---|
| Country | LUX | LU | ISO 3166-1 alpha-2 |
| Currency | € / EURO | EUR | ISO 4217 |
| Payment terms | 30 | NET30 | Versioned business reference data |
| Unit | PCE | piece | Canonical unit/reference data |
| Order status | A | active | Source-system mapping table |
| Boolean | Y | true | Typed normalization |
Reference Data
Keep reference datasets versioned and tenant-aware when required
Resolve supplier/product/site identifiers without silently creating duplicates
Use authoritative ISO/industry code sets where they exist
Store the source value alongside translated values for traceability
Treat clinical terminology as a separate MSIS responsibility, not an ERP mapping table
Business Rules
Define source-of-truth per field/domain
Use idempotency and duplicate-detection keys
Validate cross-field consistency such as amount/currency/date relationships
Apply approval and exception rules after schema validation
Keep derived values distinguishable from source values
Record rule version and mapping version on transformed records/events
Data Quality
| Quality check | Example | Handling |
|---|---|---|
| Required fields | Missing supplier ID | Reject/quarantine with actionable error |
| Reference integrity | Unknown facility or SKU | Resolve or route to exception workflow |
| Duplicate detection | Same PO resent | Idempotent success / deduplicate |
| Semantic consistency | Currency/unit incompatible with rule | Reject or flag for review |
| Freshness | Stale stock snapshot | Mark timestamp/age and reconcile |
| Completeness | Partial batch | Per-record status + retry remainder |
Developer Integration Surface
| Surface | Operation / resource | Use | Status |
|---|---|---|---|
| Mapping config | Versioned JSON/YAML mapping definition | Field/reference transformation | Implementation contract evolving |
| Validation API | Schema + business rule validation | Pre-ingestion quality checks | Planned generalized surface |
| Domain APIs | Supplier/Procurement/Delivery APIs | Write/read canonical operational data | See domain docs |
| Batch ingestion | SFTP/files + manifest/results | High-volume master data | Connector-specific |
| Events | mapping.failed / reconciliation.required patterns | Exception automation | Event names not frozen |
Examples
Source payload
jsonCopy
{
"vendor_id": "V12345",
"name": "Acme Medical Supplies",
"country": "LUX",
"currency": "€",
"payment_terms": "30"
}Canonical result
jsonCopy
{
"externalId": "V12345",
"name": "Acme Medical Supplies",
"address": { "country": "LU" },
"preferredCurrency": "EUR",
"paymentTerms": "NET30",
"provenance": { "source": "sap-erp", "mappingVersion": "1.3" }
}Next Steps
After mapping is validated, implement the operational workflow in Use Cases & Workflow Automation and define reconciliation ownership.