THE CALCUTTA FIELDBOOKREADER PREFERENCES

A LITTLE TRANSPARENCY.

Your visit.
Your choices.

Choose whether YouTube players may connect to Google. Vercel’s cookieless page counts run by default, independently of this video preference.

01 The essentials

ALWAYS AVAILABLE

Sign-in cookies for the private Notes studio, and local settings for themes, reading tools and saved work. These support features you request.

Let YouTube players connect to Google when embedded videos appear. You can also load one video at a time without remembering this permission.

Change your mind any time. Keeping videos paused unloads active YouTube players. Read the full privacy note ↗

Viz Tool · Post to UML 14 UML 2.5 Diagram Types · PlantUML Source · Deterministic SVG/PNG

Post to UML: Draw in UML from Any Text or Article

Paste any article or load an existing post from suvroghosh.in, select UML diagram families or let Recommended mode pick the smallest high-signal set, edit the generated PlantUML code live, and export the article followed by its rendered UML figures and captions.

1. Source Text or Existing Blog Post

Samples:

2. Diagram Selection & Faithfulness Controls

Structural, Behavioral, and Interaction act as family filters/selectors across the 14 concrete UML types.
Generation Mode
Presentation & Assumptions
Analysis Engine:

Long input (1,268 chars across 3 sections): analyzed using section-preserving shared glossary so entity names remain consistent across views.

Conceptual UML Model (conceptual)

Shared Terminology (8 core concepts): ClientRegistry · InteroperabilityMediator · Auxiliary Nurse Midwife · ENC-402 · PHC-KOL-19 · PointOfCareApp · FHIR Encounter · SQLite

Why these 3 diagrams were recommended: Class Diagram maps the 8 recurring conceptual entities (ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife) and their structural relationships. Activity Diagram captures the procedural workflow, conditional branches, and causal progression in the prose. Timing Diagram plots the explicit time windows and state transitions mentioned in the text.

Inspect Shared Internal Model & 14-Type Renderer Capability Matrix

Shared Internal Model Entities

  • ClientRegistry (ClientRegistry, «conceptual subject», ¶2)
  • InteroperabilityMediator (InteroperabilityMediator, «domain concept», ¶2)
  • Auxiliary Nurse Midwife (AuxiliaryNurseMidwife, «domain concept», ¶1)
  • ENC-402 (ENC-402, «domain concept», ¶1)
  • PHC-KOL-19 (PHC-KOL-19, «domain concept», ¶1)
  • PointOfCareApp (PointOfCareApp, «domain concept», ¶1)
  • FHIR Encounter (FHIREncounter, «domain concept», ¶1)
  • SQLite (SQLite, «domain concept», ¶1)

Conceptual UML model distilled from the prose entities, relationships, and events in the article.

PlantUML Deterministic Renderer Capability Matrix

#Diagram TypeFamilySupportNotation & Verification Notes
1ClassStructuralNativeNative PlantUML class notation (`class`, stereotypes, attributes/operations compartments, `--|>`, `*--`, `o--`, `-->`, `..>`).
2ObjectStructuralNativeNative PlantUML `object "instance : Classifier" as id` notation with underlined instance headers, `slot = value` rows, and instance links.
3PackageStructuralNativeNative PlantUML `package "Name" { ... }` tabbed folder notation with member classifiers and dashed dependency arrows (`..>`).
4ComponentStructuralNativeNative PlantUML `component` (`[Component]`) and `interface` (`() "Interface"`) notation with provided lollipop (`--()`) and required socket (`..>`) links.
5Composite StructureStructuralComposedComposed PlantUML enclosing `component`/`class` block using `portin`, `portout`, internal `[part : Role [mult]]` declarations, and labeled `«delegation»` / `«assembly»` connectors; rendered with UML 2.5 boundary port squares and internal role boxes.
6DeploymentStructuralNativeNative PlantUML `node`, `device`, `database`, `cloud`, and `artifact` notation with 3D node frames and stereotyped communication paths.
7ProfileStructuralComposedComposed PlantUML `package "Name" <<profile>>` containing `class ... <<metaclass>>`, `class ... <<stereotype>>`, extension arrows (`-up-|>` with `<<extension>>`), and constraint `note` blocks; rendered with UML 2.5 filled-triangle metaclass extension arrows.
8Use CaseBehavioralNativeNative PlantUML `actor`, `rectangle "System Boundary"`, `(Use Case)` ovals, actor associations, and `<<include>>` / `<<extend>>` dashed arrows.
9ActivityBehavioralNativeNative PlantUML modern activity syntax (`start`, `:Action;`, `if (...) then (...) else (...) endif`, `fork ... fork again ... end fork`, `stop`, and `partition` swimlanes).
10State MachineBehavioralNativeNative PlantUML `[*]` initial/final pseudostates, `state "Name" as id : entry / do`, and `StateA --> StateB : trigger [guard] / effect` transitions.
11SequenceBehavioral · InteractionNativeNative PlantUML `participant`/`actor` lifelines, synchronous (`->`) and reply (`-->`) arrows, activation bars, and `alt`/`loop`/`opt` interaction frames.
12CommunicationBehavioral · InteractionComposedComposed PlantUML participant network (`agent`/`rectangle` nodes with directional link arrows carrying hierarchical sequence numbers `1: ...`, `1.1: ...`, `2: ...`); rendered as a spatial communication network with link lines and directional message callouts.
13Interaction OverviewBehavioral · InteractionComposedComposed PlantUML activity control skeleton (`start`, `if/else`, `fork`, `stop`) whose action nodes are explicit `ref` / `sd` interaction frames (`partition "ref: InteractionName" { :participants -> messages; }`), rendered with UML `ref` pentagon header tabs.
14TimingBehavioral · InteractionNativeNative PlantUML timing syntax (`robust "Participant" as P`, `concise "Signal" as S`, `@0`, `@10`, `P is State`, and `{t1..t2}` duration constraints).

3. Diagram Authoring Workspace (3 evaluated)

Edit PlantUML in the Source tab to update any diagram immediately without another AI call.
#1 Structural Class Diagram Conceptual Model Local Deterministic

How a Rural Immunization Record Crosses a National Health Exchange: Conceptual Class Diagram

Maps the core conceptual entities (ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife) and how they relate in the article.

Rendered SVG
100%
How a Rural Immunization Record Crosses a National Health Exchange: Conceptual Class Diagram (Class Diagram) Classes or conceptual entities, relevant properties, operations, and relationships. · Conceptual UML Model How a Rural Immunization Record Crosses a National Health Exchange: Structural · Class Diagram · Conceptual UML Model depends on depends on «conceptual subject» ClientRegistry +name : "ClientRegistry" +evaluateClientRegistry() «domain concept» InteroperabilityMediator +name : "InteroperabilityMediator" validatesClinicCertificateAnd() «domain concept» Auxiliary Nurse Midwife +name : "Auxiliary Nurse Midwife" +evaluateAuxiliaryNurse()

Published Caption: Figure (Class Diagram): ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife and their structural associations. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.

#9 Behavioral Activity Diagram Conceptual Model Local Deterministic

How a Rural Immunization Record Crosses a National Health Exchange: Activity Diagram

Traces the step-by-step procedural flow, conditional branches, and concurrent actions described in the text.

Rendered SVG
100%
How a Rural Immunization Record Crosses a National Health Exchange: Activity Diagram (Activity Diagram) Actions, decisions, branches, loops, and parallel work. · Conceptual UML Model How a Rural Immunization Record Crosses a National Health Exchange: Behavioral · Activity Diagram · Conceptual UML Model When an Auxiliary Nurse Mi [yes] Proceed validated flow [no] Handle exception / fallback Even when cellular connect [yes] Proceed validated flow [no] Handle exception / fallback Within 5 seconds of reconnection, theClinicTablet est

Published Caption: Figure (Activity Diagram): Procedural workflow across 3 extracted stages. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.

#14 Behavioral · Interaction Timing Diagram Conceptual Model Local Deterministic

How a Rural Immunization Record Crosses a National Health Exchange: Timing Diagram

Plots state changes for participants along a horizontal time axis with duration bounds.

Rendered SVG
100%
How a Rural Immunization Record Crosses a National Health Exchange: Timing Diagram (Timing Diagram) State or value changes along a time axis, with timing constraints where known. · Conceptual UML Model How a Rural Immunization Record Crosses a National Health Exchange: Behavioral · Interaction · Timing Diagram · Conceptual UML Model ClientRegistry «robust» Verified Quarantined InteroperabilityMediat «concise» Waiting Processing Complete Time (t) @0 @10 @20 @30 {observed window: 5 seconds}

Published Caption: Figure (Timing Diagram): State waveform timeline for ClientRegistry, InteroperabilityMediator. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.

4. Reader-Facing Article Preview & Blog Export

Strict reader order: Original article text → rendered UML figure → explanatory caption. Editable source stays in the authoring tabs above and is offered as an optional disclosure below.

How a Rural Immunization Record Crosses a National Health Exchange

Point-of-Care Capture at the Rural Clinic

When an Auxiliary Nurse Midwife records a measles-rubella dose on a clinic tablet (instance ENC-402 at facility PHC-KOL-19), the PointOfCareApp writes an encrypted FHIR Encounter bundle into a local SQLite queue. Even when cellular connectivity drops, the local queue preserves the signed payload until network reachability returns.

Mediation and Identity Resolution

Within 5 seconds of reconnection, the ClinicTablet establishes a mutual-TLS channel with the OpenHIMGateway hosted in the NationalExchangeCluster. The InteroperabilityMediator validates the clinic certificate and queries the ClientRegistry using the patient's health identifier (HID-8841-22) to resolve the canonical Master Patient Index record.

Persistence and District Surveillance

If the ClientRegistry confirms a unique demographic match within 12 seconds, the InteroperabilityMediator executes two actions in parallel: it commits the verified encounter to the SharedHealthRecord database and increments the DistrictSurveillanceService coverage counter. Otherwise, if the identity check returns an ambiguous match, the encounter transitions to the Quarantined state for manual reconciliation by a DistrictHealthOfficer within 24 hours.


Architectural & Conceptual UML Diagrams

Structural class Conceptual Model
How a Rural Immunization Record Crosses a National Health Exchange: Conceptual Class Diagram

Figure (Class Diagram): ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife and their structural associations. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.

Inspect or download PlantUML source (.puml)
@startuml
title How a Rural Immunization Record Crosses a National Health Exchange — Conceptual Class Model
class "ClientRegistry" as ClientRegistry <<conceptual subject>> {
  +name : "ClientRegistry"
  +evaluateClientRegistry()
}
class "InteroperabilityMediator" as InteroperabilityMediator <<domain concept>> {
  +name : "InteroperabilityMediator"
  validatesClinicCertificateAnd()
}
class "Auxiliary Nurse Midwife" as AuxiliaryNurseMidwife <<domain concept>> {
  +name : "Auxiliary Nurse Midwife"
  +evaluateAuxiliaryNurse()
}
ClientRegistry ..> InteroperabilityMediator : depends on
InteroperabilityMediator ..> AuxiliaryNurseMidwife : depends on
@enduml
Behavioral activity Conceptual Model
How a Rural Immunization Record Crosses a National Health Exchange: Activity Diagram

Figure (Activity Diagram): Procedural workflow across 3 extracted stages. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.

Inspect or download PlantUML source (.puml)
@startuml
title How a Rural Immunization Record Crosses a National Health Exchange — Activity Workflow
start
if (When an Auxiliary Nurse Midwife reco?) then (yes)
  :Proceed validated flow;
else (no)
  :Handle exception / fallback;
endif
if (Even when cellular connectivity drop?) then (yes)
  :Proceed validated flow;
else (no)
  :Handle exception / fallback;
endif
:Within 5 seconds of reconnection, the ClinicTablet est;
stop
@enduml
Behavioral · Interaction timing Conceptual Model
How a Rural Immunization Record Crosses a National Health Exchange: Timing Diagram

Figure (Timing Diagram): State waveform timeline for ClientRegistry, InteroperabilityMediator. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.

Inspect or download PlantUML source (.puml)
@startuml
title How a Rural Immunization Record Crosses a National Health Exchange — Timing Waveform
robust "ClientRegistry" as ClientRegistry
concise "InteroperabilityMediator" as InteroperabilityMediator
@0
ClientRegistry is Verified
InteroperabilityMediator is Waiting
@10
ClientRegistry is Quarantined
InteroperabilityMediator is Processing
@20
ClientRegistry is Verified
InteroperabilityMediator is Complete
@30
ClientRegistry is Quarantined
InteroperabilityMediator is Waiting
ClientRegistry@0 <-> @30 : {observed window: 5 seconds}
@enduml
Inspect generated mdsvex blog embed snippet & repository asset paths

Unpack the exported .zip into the repository root so static SVG files land in static/images/uml/openhie-immunization-exchange/ and PlantUML sources land in static/uml/openhie-immunization-exchange/, then paste the snippet below at the end of src/lib/posts/openhie-immunization-exchange.md:

## Architectural & Conceptual UML Diagrams

<UmlFigure
	src="/images/uml/openhie-immunization-exchange/openhie-immunization-exchange-class.svg"
	sourceHref="/uml/openhie-immunization-exchange/openhie-immunization-exchange-class.puml"
	diagramType="class"
	family="Structural"
	title="How a Rural Immunization Record Crosses a National Health Exchange: Conceptual Class Diagram"
	alt="UML Class diagram showing ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife connected by domain relationships."
	caption="Figure (Class Diagram): ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife and their structural associations. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase."
	conceptual={true}
	sourceCode={"@startuml\ntitle How a Rural Immunization Record Crosses a National Health Exchange — Conceptual Class Model\nclass \"ClientRegistry\" as ClientRegistry <<conceptual subject>> {\n  +name : \"ClientRegistry\"\n  +evaluateClientRegistry()\n}\nclass \"InteroperabilityMediator\" as InteroperabilityMediator <<domain concept>> {\n  +name : \"InteroperabilityMediator\"\n  validatesClinicCertificateAnd()\n}\nclass \"Auxiliary Nurse Midwife\" as AuxiliaryNurseMidwife <<domain concept>> {\n  +name : \"Auxiliary Nurse Midwife\"\n  +evaluateAuxiliaryNurse()\n}\nClientRegistry ..> InteroperabilityMediator : depends on\nInteroperabilityMediator ..> AuxiliaryNurseMidwife : depends on\n@enduml"}
/>

<UmlFigure
	src="/images/uml/openhie-immunization-exchange/openhie-immunization-exchange-activity.svg"
	sourceHref="/uml/openhie-immunization-exchange/openhie-immunization-exchange-activity.puml"
	diagramType="activity"
	family="Behavioral"
	title="How a Rural Immunization Record Crosses a National Health Exchange: Activity Diagram"
	alt="UML Activity diagram tracing 3 workflow steps from start to stop."
	caption="Figure (Activity Diagram): Procedural workflow across 3 extracted stages. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase."
	conceptual={true}
	sourceCode={"@startuml\ntitle How a Rural Immunization Record Crosses a National Health Exchange — Activity Workflow\nstart\nif (When an Auxiliary Nurse Midwife reco?) then (yes)\n  :Proceed validated flow;\nelse (no)\n  :Handle exception / fallback;\nendif\nif (Even when cellular connectivity drop?) then (yes)\n  :Proceed validated flow;\nelse (no)\n  :Handle exception / fallback;\nendif\n:Within 5 seconds of reconnection, the ClinicTablet est;\nstop\n@enduml"}
/>

<UmlFigure
	src="/images/uml/openhie-immunization-exchange/openhie-immunization-exchange-timing.svg"
	sourceHref="/uml/openhie-immunization-exchange/openhie-immunization-exchange-timing.puml"
	diagramType="timing"
	family="Behavioral · Interaction"
	title="How a Rural Immunization Record Crosses a National Health Exchange: Timing Diagram"
	alt="UML Timing diagram plotting state changes along a horizontal time axis for ClientRegistry, InteroperabilityMediator."
	caption="Figure (Timing Diagram): State waveform timeline for ClientRegistry, InteroperabilityMediator. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase."
	conceptual={true}
	sourceCode={"@startuml\ntitle How a Rural Immunization Record Crosses a National Health Exchange — Timing Waveform\nrobust \"ClientRegistry\" as ClientRegistry\nconcise \"InteroperabilityMediator\" as InteroperabilityMediator\n@0\nClientRegistry is Verified\nInteroperabilityMediator is Waiting\n@10\nClientRegistry is Quarantined\nInteroperabilityMediator is Processing\n@20\nClientRegistry is Verified\nInteroperabilityMediator is Complete\n@30\nClientRegistry is Quarantined\nInteroperabilityMediator is Waiting\nClientRegistry@0 <-> @30 : {observed window: 5 seconds}\n@enduml"}
/>
Audio article
Checking narration…

Checking article narration…

Published · Updated


Prose explains why a system behaves the way it does, but prose is linear: a reader has to hold entities, state transitions, actor boundaries, and chronological handoffs in working memory at the same time. Post to UML bridges that gap inside the Viz studio. You paste the text of a draft—or load any published essay from suvroghosh.in—choose which UML views you want, inspect and edit the generated PlantUML source code, and export the original article followed by its rendered UML figures and captions.

Separating Interpretation, Source Code, and Rendering

Language models are helpful at summarizing relationships, but an opaque picture that cannot be edited or audited is a liability in technical writing. Post to UML enforces a strict five-stage separation:

  1. Interpret the text into a shared internal model of entities, relationships, actors, lifecycle states, and paragraph-level evidence spans so the same concept carries the same name across every diagram.
  2. Generate complete, standalone PlantUML source (@startuml … @enduml) and structured metadata for each requested diagram type.
  3. Validate the PlantUML grammar and security rules, blocking file/remote preprocessor directives (!include, !includeurl, %getenv) and running a bounded syntax-repair pass if needed.
  4. Render the validated AST deterministically into accessible SVG (with browser PNG rasterization on demand).
  5. Append the rendered figures and captions after the original article prose for publication.

Coverage Across All 14 Concrete UML 2.5 Diagram Types

Rather than collapsing every explanation into a generic box-and-arrow sketch, the tool preserves the formal distinctions between all fourteen concrete UML diagram types across two top-level families (and the Interaction subfamily):

  • Structural diagrams (7): Class, Object (underlined instance snapshots with slot values), Package, Component (with provided lollipop and required socket interfaces), Composite Structure (internal role-bound parts and boundary portin/portout squares), Deployment (3D execution nodes and deployed artifacts), and Profile («metaclass» and «stereotype» metamodel extensions—never a biographical profile).
  • Behavioral diagrams (3 core + 4 Interaction): Use Case (actors and system boundary), Activity (procedural control flow, decision diamonds, and parallel forks), and State Machine (lifecycle states and trigger [guard] / effect transitions), together with Interaction diagrams (4): Sequence (vertical lifelines), Communication (participant link network with hierarchical numbered messages 1:, 1.1:, 2:), Interaction Overview (control flow connecting ref and sd interaction frames), and Timing (state waveforms along a horizontal clock axis).

Example Published Embed

In a published post, the <UmlFigure /> component renders the saved diagram asset after the article text, pairs it with an explanatory caption, and keeps the .puml source available inside a clean disclosure:

Structural class
Post to UML — Five-Stage Pipeline Model
UML Class diagram showing ArticleSource, SharedUmlModel, PlantUmlRenderer, and UmlFigureEmbed.

Figure (Class Diagram): The five-stage architecture separating prose extraction, shared terminology modeling, deterministic PlantUML validation/rendering, and static blog figure export.

Inspect or download PlantUML source (.puml)
Saved .puml file
@startuml
title Post to UML — Five-Stage Pipeline Model
class "ArticleSource" as ArticleSource <<source>> {
  +title : String
  +paragraphs : ParagraphSpan[1..*]
  +segmentProse()
}
class "SharedUmlModel" as SharedUmlModel <<conceptual>> {
  +domainKind : UmlDomainKind
  +entities : SharedUmlEntity[1..*]
  +relationships : SharedUmlRelationship[0..*]
}
class "PlantUmlRenderer" as PlantUmlRenderer <<deterministic>> {
  +validateAndRepair()
  +renderPlantUmlToSvg()
}
class "UmlFigureEmbed" as UmlFigureEmbed <<export>> {
  +svgPublicPath : String
  +pumlPublicPath : String
  +caption : String
}
ArticleSource "1" --> "1" SharedUmlModel : extracts shared glossary
SharedUmlModel "1" --> "1..14" PlantUmlRenderer : synthesizes .puml
PlantUmlRenderer "1" *-- "1" UmlFigureEmbed : produces verified SVG & caption
@enduml

Quick reference and FAQ

Post to UML turns any pasted article or existing blog post into editable PlantUML source code and deterministic SVG diagrams across all 14 concrete UML 2.5 diagram types, then appends the rendered figures and captions after the original article.

Key Terms

  • Structural UML diagrams (7): Class, Object, Package, Component, Composite Structure, Deployment, and Profile.
  • Behavioral & Interaction UML diagrams (7): Use Case, Activity, State Machine, Sequence, Communication, Interaction Overview, and Timing.
  • Conceptual UML model: A domain model that clarifies prose concepts and workflows without pretending to be implemented software code.
  • Deterministic PlantUML rendering: Separating text interpretation from validated PlantUML code and deterministic SVG rendering.

Frequently asked questions

Does every article have to produce all 14 UML diagrams?

No. Recommended mode chooses the smallest high-signal set (one to three diagrams). When All 14 mode is selected, unsupported diagram types—such as a Timing diagram when an article gives event order but no durations—honestly report 'Needs more information' or 'Not applicable' instead of inventing facts.

What happens when I edit the PlantUML source code manually?

Manual edits in the Source tab immediately re-validate and re-render the SVG preview in your browser without making another AI request. If an edit introduces a syntax error, your code is preserved and the previous valid preview remains clearly marked.

How are diagrams ordered when exported to a blog post?

The reader-facing preview and exported Markdown always keep the original article text first, followed by the rendered UML figures, their explanatory captions, and an optional disclosure to inspect or download the PlantUML source.

Word Cloud

Word cloud for Post to UML: Draw in UML from Any Text or Article

Comments

Read the conversation or leave a thought for review. Comments load when this section is in view.