Resource schemas
Zod describes the supported structure. TypeScript types are inferred from the same schemas.
Read the resource parserA QUICK ORIENTATION
You do not need to read code to explore Asclepius. Choose a routine visit or a referral between two teams, open its records, and trace how the information connects. The aim is to understand the record’s role and context—not to make a care decision.
Use the connected records to move from the person to the source of a report.
01 · Patient
Alex Morgan is fictional. The patient record gives the other records a shared person to refer to.
Whose information is this?
02 · Encounter
The visit connects Alex with the care team, clinic, and time. It gives the other records their setting.
Which visit does it belong to?
03 · Observation
The measurement records a value, its units, and when it was taken. This demo does not interpret that value.
What was recorded, and when?
04 · DiagnosticReport
The example report points back to the measurement. Follow that connection to see the source record.
Where did this information come from?
SCENARIO 02 · REFERRAL AND HANDOFF
Maya’s fictional journey connects Willow’s referring team to Cedar’s receiving team. A ServiceRequest records what was requested and who it is for. A Task records who owns the coordination work and its outcome.
The handoff task is completed, the referral remains active, and the receiving visit is still planned. Those statuses describe different records. Moving between stages explores this fixed snapshot; it does not send a referral or change its status.
In the care journey, choose “A referral and handoff” to trace the request, receiving team, and planned visit.
For the full standard, see HL7’s FHIR R4 overview and explanation of references.
Inspect two journeys with nine linked fictional records each, identify their roles, and follow their connections. Open the validation lab to see how a missing detail can be detected by the kit’s structural checks and teaching rules.
Try the validation labBoth scenarios are fixed and synthetic. It does not exchange live information with a clinic, save a clinical record, interpret results, or recommend treatment.
Passing the lab’s checks does not mean a record is clinically correct, fully FHIR conformant, or safe to use for care. The local drug-interaction knowledge base is intentionally incomplete.
The browser and local API share the same domain schemas and validation service. Dependencies point inward: adapters use ports and domain types; services use ports and the domain; domain code does not depend on infrastructure.
Zod describes the supported structure. TypeScript types are inferred from the same schemas.
Read the resource parserStructural checks run before three teaching profile rules. The result is an OperationOutcome describing any issues.
Read the validation serviceContracts describe capabilities such as saving and searching without choosing a database implementation.
Read the repository portThe separate local API has in-memory and SQLite adapters. Its composition root connects them; this browser demo does not use them.
Read the composition rootNOT_FOR_CLINICAL_USE · Educational subset. Use fictional examples only. This demo does not connect to clinical systems.