Skip to main content

Code Mapping and Vendor Capabilities

What Ward emits on outbound writes, and what each vendor accepts. Confirm the vendor column against the target's current CapabilityStatement before promising a flow: supported write resources and code sets change per release and per customer.

Every outbound resource also carries a stable business identifier (system http://ward.health/fhir/sid/{kind}) so a replayed write is an idempotent no-op rather than a duplicate chart entry. The value is the Ward record UUID for rounds and assessments; for vitals it is {uuid}:{measurement} (e.g. …:blood_pressure, …:heart_rate), since one vitals row yields several observations. A reconciliation query must key on that qualified value for vitals.

Vital signs (US Core Observation)

Category vital-signs; values are UCUM-coded quantities.

MeasurementLOINCUCUM unit
Heart rate8867-4/min
Blood pressure panel85354-9(components below)
— Systolic (component)8480-6mm[Hg]
— Diastolic (component)8462-4mm[Hg]
Respiratory rate9279-1/min
Oxygen saturation (pulse ox)59408-5 + 2708-6%
Body temperature8310-5[degF]
Pain severity72514-3{score}

Blood pressure files as one panel with systolic/diastolic components so it lands in the BP flowsheet row, not as two orphaned scalars. SpO2 carries both the pulse-oximetry method code (primary) and the generic saturation code, per US Core Pulse Oximetry.

Assessments (coded Observation)

Category survey. Known instruments use LOINC; an unrecognized type uses a ward CodeSystem so the code is honestly proprietary rather than a fabricated standard code. Severity is a coded interpretation; the human-readable interpretation is a note.

AssessmentLOINC
C-SSRS89206-7
CIWA-Ar75626-2
COWS75625-4
PHQ-9 total score44261-6
Morse Fall Scale38208-5
Braden Scale38227-5
(unrecognized)http://ward.health/fhir/CodeSystem/assessment-type
Severity levelhttp://ward.health/fhir/CodeSystem/assessment-severity

1:1 rounds (DocumentReference)

A 1:1 safety round has no clean LOINC and files as a clinical-note DocumentReference (type LOINC 34746-8 Nurse Note, US Core category clinical-note) whose text always asserts the proximity result. The patient-status SNOMED codes below inform the note text.

Patient statusSNOMED CT
Sleeping248218005
Awake and calm271778009
Agitated24199005
Distressed224977004
Off unit373066001
Other74964007

The psych-status SNOMED set and the LOINC/UCUM assignments need clinical sign-off per facility before go-live. They are defaults, not a substitute for the facility's own flowsheet mapping.

Write strategy and idempotency

Ward writes idempotently keyed by the business identifier. Two strategies, selected per facility by write_strategy:

StrategyMechanismUse when
conditional_update (default)PUT {Type}?identifier={system}|{value}The vendor supports conditional update on the resource
conditional_createPOST {Type} with If-None-Exist: identifier={system}|{value}The vendor is create-only (rejects conditional PUT)

Confirming which one the target EMR accepts, per resource, against its CapabilityStatement (rest.resource.conditionalUpdate / conditionalCreate) is the first thing to validate in the vendor sandbox.

Per-vendor notes

VendorReadsWritesNotes
EpicPatient, Encounter, Observation (R4)Gated per customerOften create-only; use conditional_create. SMART launch + read prove out on the public sandbox; writes are enabled per customer
Oracle Health (Cerner)R4Observation vital-signs, laboratory, imagingFixed LOINC list and a required performer. Vitals demo on the free sandbox; rounds/assessments go as DocumentReference/QuestionnaireResponse
MEDITECH ExpanseR4 readMostly interface-basedConfirm the supported write path; may be HL7 rather than FHIR write
NetsmartRequest-based accessRequest-basedStart the CareConnect developer-access request early
HAPI / SMART Health ITR4Accepts writesVendor-neutral plumbing and Bundle/reference smoke tests, no vendor gates