Docs / Domain mappings / records
Records
A host that holds payments, encounters, catalog rows, or case files is Rig when it emits entities with POD components keyed by schema ids it supports (honors). Search engines, vector stores, and message parsers are fulfillments. The index is not this catalog.
Portable meaning is rig.record.* plus the finance, clinic, commerce, and law components those compose. Product names stay out of schema ids. There is no rig.fhir.*, rig.pacs.*, rig.dicom.*, or rig.gs1.*.
Shared record
| Fact | Rig |
|---|---|
| Perimeter and retention | rig.record.mark |
| Who stated it, and when | rig.record.assertion |
| Happening with no magnitude | rig.record.event plus rig.calendar.event |
| Grant, refusal, or withdrawal | rig.record.consent plus rig.calendar.span |
| File about a subject | rig.record.case |
| Reported happening in the world | rig.record.incident |
| This fact belongs to a file | rig.record.concerns |
| A note about a fact | rig.record.note |
Members point at the file. The case and the incident hold no arrays. The file's document.author stays the file. Join keys live on the noun.
A time of day composes rig.calendar.event. startSecond orders happenings that share a minute. Do not invent a second timestamp type.
Financial services
| Fact | Rig |
|---|---|
| Party and cash account | rig.person.* / rig.organisation.identity / rig.party.account |
| Amount | rig.commerce.price |
| Movement | rig.finance.payment |
| Holding | rig.finance.position (isin is ISO 6166) |
| Policy | rig.legal.agreement kind insurance |
| Claim | rig.finance.claim |
| Fraud or AML file | rig.record.case kind fraud / aml |
Example: examples/record-bank.json.
Healthcare and life sciences
| Fact | Rig |
|---|---|
| Person ids | rig.person.identifier (mrn, taxId, nationalId, passport) |
| Visit or admission | rig.clinic.encounter |
| Measurement | rig.clinic.observation |
| Imaging study | rig.clinic.study (studyUid / seriesUid) |
| Trial | rig.clinic.trial |
| Eligibility row | rig.clinic.criterion |
| Consent | rig.record.consent |
A measurement is an observation. Do not also attach rig.record.event. Pixels stay on the asset file.
Example: examples/record-care.json.
Retail
| Fact | Rig |
|---|---|
| Item | rig.commerce.product (gtin is digits only; a variant sets parent) |
| Offer | rig.commerce.offer item |
| Count at a place | rig.commerce.stock |
| Sale | rig.commerce.order plus rig.commerce.order_line |
| Bill | rig.commerce.invoice plus rig.commerce.invoice_line |
| Box | rig.commerce.shipment plus rig.commerce.shipment_line |
| Note | rig.record.note |
Session memory and the embedding index stay in the host.
Example: examples/record-shop.json.
Public sector
| Fact | Rig |
|---|---|
| Person ids | rig.person.identifier |
| Citizen case | rig.record.case kind service / benefits |
| Statute | rig.law.statute |
| Incident | rig.record.incident |
| Responder fix | rig.sensor.gnss plus rig.place.geo plus rig.record.concerns |
Example: examples/record-civic.json.
Encodings (fulfillment)
| File | Role |
|---|---|
ISO 20022 pacs.* / pain.* / camt.* |
Map into / out of rig.finance.payment + party / account / price |
| FHIR Bundle / resource | Map Encounter, Observation, Consent, ResearchStudy |
| DICOM | Map Study / Series UID onto rig.clinic.study; pixels stay the file |
| GS1 / GTIN catalog | Map onto rig.commerce.product + offer + stock |
| Case-management export | Map onto rig.record.case + concerns |
Do not put query explain-plans, vector embeddings, or RBAC tables in portable components - those are the engine.
Stay out
| Stay out | Why |
|---|---|
| Hybrid search, Elasticsearch wire, per-query explain | The engine. Two hosts share the record, not the index |
| Tenant isolation, customer-managed keys, air-gap binary | Deployment posture |
Generic system + value identifier bags |
Join keys live on the noun |
| Medication, lab panels, trade tickets | Not a shared field set yet |
rig.fhir.* / rig.pacs.* / rig.dicom.* / rig.gs1.* |
Product and message names stay out of schema ids |