Healthcare IT Glossary

183 terms across DICOM, HL7 v2, FHIR, integration, imaging operations and HIPAA security. Each entry links to the full reference where one exists.

#

21 CFR Part 11

Security

Also: FDA 21 CFR Part 11, Part 11

21 CFR Part 11 is the FDA regulation governing electronic records and electronic signatures in regulated activities, covering clinical trials, medical device manufacturing, and laboratory systems. It demands validated systems, secure computer-generated time-stamped audit trails, record retention, and signature manifestations that bind signer to record. Healthcare IT meets it on LIMS and research-grade builds, not routine clinical integration.

See also Audit LogSecurity Risk AnalysisHIPAA

Full explanation

A

Accession Number

Imaging ops

An accession number is the identifier a RIS assigns to one ordered exam, and it is the join key between the HL7 order, the DICOM study, and the signed report. It rides in DICOM tag (0008,0050) and in an HL7 OBR field whose exact position varies by site. When the two disagree, studies land in the PACS unmatched to any order.

Same exam, two systems
DICOM (0008,0050) AccessionNumber   A2607260012
HL7   OBR-18 (one common mapping)  A2607260012

See also OBR SegmentStudy ReconciliationModality WorklistRIS

Full explanation

ACK

HL7 v2

Also: Acknowledgment message, MSA

An ACK is the acknowledgment message a receiver returns to confirm what happened to an inbound HL7 v2 message. Its MSA segment carries the acknowledgment code, usually AA accepted, AE application error, or AR rejected, plus MSA-2 echoing the original MSH-10 so the sender can correlate. No ACK handling means silent message loss.

HL7 v2 acknowledgement modes and MSA-1 accept, error and reject codes ORIGINAL MODE MSH-15 = AL MSH-16 = NE one ACK closes the exchange - the usual production setting Sender EPIC MAIN_HOSP MSH-3 / MSH-4 retries on timeout Receiver LAB_SYS PATHOLOGY MSH-5 / MSH-6 builds the ACK MSH-9 ADT^A01^ADT_A01 MSH-10 MSG00001 MSH-11 P MSH-12 2.5.1 echo MSH-9 ACK^A01^ACK MSA-1 AA accepted MSA-2 MSG00001 ENHANCED MODE MSH-15 = AL MSH-16 = AL two ACKs - the commit lands first, the application ACK follows Sender holds the message on its outbound queue until the second ACK lands Receiver persists the raw message, answers CA, processes it, then answers AA ADT^A01^ADT_A01 MSH-10 = MSG00002 MSA-1 CA MSA-2 = MSG00002 commit accept - stored MSA-1 AA MSA-2 = MSG00002 application accept MSA-1 - WHAT THE RECEIVER IS TELLING YOU MSA-2 always echoes MSH-10 of the original message AA Application Accept processed successfully - nothing to resend AE Application Error parsed but not processed - fix the content first AR Application Reject structural or protocol fault - do not resend as is In enhanced mode the first ACK carries a commit code in MSA-1: CA accept, CE error, CR reject. AA, AE and AR then belong to the second, application-level ACK. Either way MSA-2 carries MSH-10.
HL7 v2 acknowledgement modes and MSA-1 accept, error and reject codes
Accept ACK
MSH|^~\&|EPIC|MAIN_HOSP|LAB_SYS|PATHOLOGY|202603011401||ACK^R01|ACK00042|P|2.5.1
MSA|AA|LAB00042

See also MLLPMSH SegmentRetry and Redelivery

Full explanation

Admin Console

MirthSync

Also: Mirth Connect Administrator, Mirth Administrator

The Admin Console is Mirth® Connect's management client, reached from the server at port 8443, where channels are authored, deployed, and monitored. It is a Java desktop application, so JRE version and self-signed TLS certificate problems are the usual reasons it refuses to launch. Everything it exposes is also reachable over the REST API, which is how MirthSync works without it.

See also MirthSyncDashboard StatisticsDeploy / UndeployChannel

Full explanation

ADT Feed

HL7 v2

Also: ADT message, Admit Discharge Transfer

An ADT feed is the stream of Admit, Discharge, Transfer messages that keeps every downstream system synchronized with the patient census. One ADT message code covers dozens of trigger events, from A01 admission through A08 demographic update to A40 patient merge. Nearly every hospital interface project starts by subscribing to this feed.

An ADT feed fanning out from registration to downstream subscribers ONE ADT FEED, MANY SUBSCRIBERS typical subscriptions Registration system of record for identity ADT^A01 ... A40 MLLP MSA|AA Interface engine reads MSH-9 trigger filters and transforms one route per subscriber ACK per message PACS A01 A04 A08 A40 A08 corrects names, A40 relinks priors LIS A01 A03 A04 A08 A40 specimen labels and result routing Pharmacy A01 A03 A08 A40 A01 opens the profile, A03 closes it Billing A01 A03 A08 A40 admit and discharge bound the account THE STREAM IN ARRIVAL ORDER illustrative, not measured A04 A08 A08 A01 A08 A08 A03 A08 A08 A40 A08 A08 A08 is the workhorse. Any demographic edit, insurance change or name correction re-broadcasts the whole PID, so A08 is the event nearly every downstream system has to consume and handle correctly. ADT SEGMENTS MSH EVN PID PV1 MRG MRG only on A40: MRG-1 is the retired MRN, PID-3 the survivor TRIGGER EVENTS ON THE WIRE A01 admit / visit notification A03 discharge / end visit A04 register a patient A08 update patient information A40 merge patient - patient identifier list A40 rides the ADT_A39 message structure
An ADT feed fanning out from registration to downstream subscribers

See also PID SegmentPV1 SegmentEVN SegmentPatient ID Merge

Full explanation

AE Title

DICOM

Also: Application Entity Title, AET

An AE Title is an identifier of up to 16 characters that names a DICOM node on the network. Every association carries a calling AE Title for the sender and a called AE Title for the receiver, and both must match what the peer has configured. A mismatch is the most common reason an association is rejected outright.

Association request
CALLING AE: SAGA_SCU
CALLED  AE: PACS_ARCHIVE
HOST      : pacs.example.org:11112

See also AssociationPresentation ContextConformance Statement

Full explanation

AL1 Segment

HL7 v2

Also: Patient Allergy Information segment, AL1

The AL1 segment communicates one patient allergy or adverse reaction, repeating for each known allergen, and appears mainly in ADT messages. AL1-4 severity drives clinical decision support downstream, where severe usually means a hard stop in the ordering system. An absent AL1 is ambiguous, so send an explicit no known allergies entry instead.

See also ADT FeedPID SegmentDG1 Segment

Full explanation

Alert

MirthSync

An alert is a Mirth® Connect rule that watches for error events and notifies someone when they fire, typically by email or by feeding another channel. Alerts are scoped by channel and error type, so a filter set too broadly turns into ignored noise during a routine outage. They are server configuration, not channel configuration, and travel separately from a channel export.

See also Channel Export XMLDashboard StatisticsRetry and RedeliveryMirthSync

Full explanation

Archive Tiering

Imaging ops

Archive tiering is the lifecycle policy that moves imaging studies between storage classes as they age: hot SSD for the last 30 days, warm object storage for months, cold archive for the long retention tail. The tradeoff is retrieval latency, which is why tier boundaries have to line up with prefetch rules and with the retention period your jurisdiction requires.

Typical lifecycle policy
0-30d     hot SSD          instant
30-180d   object storage   seconds
180d+     cold archive     minutes to hours

See also PrefetchVNAEnterprise ImagingPACS

Full explanation

Association

DICOM

Also: DICOM association, A-ASSOCIATE

An association is the negotiated session between two DICOM nodes. Before any data moves, the pair agrees on who is calling, which SOP Classes they will exchange, and which transfer syntaxes encode the payload. Everything in classic DICOM networking happens inside an association, which is closed with A-RELEASE or torn down with A-ABORT.

See also AE TitlePresentation ContextDIMSE

Full explanation

Audit Log

Security

Also: Audit Trail, Audit Controls

An audit log is the tamper-resistant record of who accessed which patient record, when, from where, and what they did with it. HIPAA §164.312(b) requires the mechanism; investigators require the content. Practical minimums are actor, source and destination, patient or study identifier, event type, outcome, and a UTC timestamp, commonly retained six years to line up with the HIPAA documentation retention rule.

Audit event
2026-04-29T14:31:02Z user=jdoe action=READ
  resource=Patient/123 src=10.4.1.22 outcome=ALLOW

See also HIPAA Security RuleRBACIncident ResponseePHI

Full explanation

B

BAA

Security

Also: Business Associate Agreement

A Business Associate Agreement is the written contract required under §164.504(e) and §164.314(a) before a vendor may touch PHI on a covered entity's behalf. It fixes permitted uses, mandates safeguards, requires incident reporting, and flows the same obligations down to subcontractors. Sharing PHI with a third party that has not signed one is itself a HIPAA violation.

See also Business AssociateCovered EntityHIPAA Privacy RulePHI

Full explanation

Breach Notification Rule

Security

The HIPAA Breach Notification Rule (45 CFR §§164.400-414) requires covered entities to notify affected individuals, HHS, and sometimes the media after unsecured PHI is improperly acquired, accessed, used, or disclosed. An impermissible disclosure is presumed to be a breach unless a documented four-factor risk assessment shows low probability of compromise. Individual notice is due within 60 days of discovery.

See also HIPAAIncident ResponsePHIBusiness Associate

Full explanation

Bulk Data Export

FHIR

Also: Bulk FHIR, FHIR Bulk Data Access, $export

Bulk Data Export is the FHIR specification for pulling population-scale data asynchronously: kick off $export at system, group, or patient level, poll the returned status URL until the job completes, then download the NDJSON files it lists. It exists because paging millions of resources through ordinary REST search is impractical. Typical consumers are data warehouses, quality reporting, and analytics pipelines.

FHIR bulk data export: kick-off, polling, manifest and NDJSON download 1 2 3 4 Kick-off Group, Patient or system level: a whole population, not one patient at a time GET [base]/Group/42/ $export ?_type=Patient,Condition,Observation Accept: application/fhir+json Prefer: respond-async sets the format of the status manifest, not the output files without it the server answers inline, or refuses the operation Accepted the body carries nothing you need; the Content-Location URL is the handle for everything after this 202 Accepted Content-Location: https://[base]/fhir/bulkstatus/7f3c not the kick-off URL Poll the status URL, honoring Retry-After, until it stops answering 202 GET https://[base]/fhir/bulkstatus/7f3c carrying the same Bearer token 202 · Retry-After: 120 · X-Progress: 47% 200 OK · manifest in the body Download one GET per url in the manifest, sending Accept: application/fhir+ndjson output[] one entry per file TYPE URL Patient Patient.ndjson Condition Condition.ndjson Observation Observation_1.ndjson Observation Observation_2.ndjson one type, many files Observation_1.ndjson newline delimited 1 2 3 {"resourceType":"Observation","id":"o-1",...} {"resourceType":"Observation","id":"o-2",...} {"resourceType":"Observation","id":"o-3",...} each line is one complete resource no enclosing array, no commas: stream it error[] holds OperationOutcome files, separate from output[]; requiresAccessToken governs the file GETs.
FHIR bulk data export: kick-off, polling, manifest and NDJSON download

See also NDJSONOAuth ScopesFHIR Search Parameter

Full explanation

Business Associate

Security

A business associate is any organization that creates, receives, maintains, or transmits PHI while performing a function on behalf of a covered entity. Cloud hosts, integration engine vendors, billing services, managed IT providers, and even record-shredding companies all qualify. Business associates are directly liable under the Security Rule, not just contractually bound through the covered entity.

See also Covered EntityBAAHIPAA Security RulePHI

Full explanation

C

C-ECHO

DICOM

Also: Verification SOP Class, DICOM ping

C-ECHO is the DICOM verification operation, the protocol's equivalent of ping. The SCU opens an association and sends a command with no data set; a successful response proves TCP reachability, AE Title acceptance, and presentation context negotiation all work. Run it first on any new connection: it separates network problems from data problems in seconds.

DCMTK echoscu
echoscu -v -aec PACS_ARCHIVE -aet SAGA_SCU pacs.example.org 11112

See also AssociationAE TitleSCP

C-FIND

DICOM

C-FIND is the DIMSE query operation. The SCU sends an identifier data set in which filled attributes are match criteria and empty attributes are the fields it wants returned, and the SCP replies with one response per match. Match semantics follow each attribute's VR: ranges for dates, wildcards for names, exact only for UIDs.

Study-level identifier
(0008,0052) QueryRetrieveLevel = STUDY
(0010,0020) PatientID          = 12345
(0008,0020) StudyDate          = 20260101-20260131
(0020,000D) StudyInstanceUID   = (empty: return this)

See also C-MOVEQIDO-RSValue Representation

Full explanation

C-GET

DICOM

C-GET is the DIMSE retrieve operation that returns instances over the same association that requested them. It avoids the second connection and destination configuration C-MOVE needs, so it passes through firewalls cleanly, but it requires presentation contexts negotiated in both directions and many older archives never implemented it. Prefer C-GET when you control both endpoints.

See also C-MOVEPresentation ContextWADO-RS

Full explanation

C-MOVE

DICOM

C-MOVE is the DIMSE retrieve operation in which the requester names a third-party destination AE Title. The SCP then opens a new outbound association to that destination and C-STOREs the matching instances there. Because the archive dials the destination, the firewall must permit that inbound connection, and the images only reach the requester when it is itself the destination.

Three parties
SCU        : WORKSTATION_1  (asks)
SCP        : PACS_ARCHIVE   (retrieves, then sends)
Destination: REVIEW2        (must be pre-registered on the SCP)

See also C-GETAE TitleFirewall Allowlist

Full explanation

C-STORE

DICOM

Also: Storage Service Class

C-STORE is the DIMSE operation that pushes a DICOM object from one node to another. It carries a command set naming the SOP Class and SOP Instance UID, then the data set itself. A status of 0000 means success; anything else means the receiver refused, ran out of space, or could not decode the negotiated transfer syntax.

C-STORE, C-FIND and C-MOVE message flow SCU service class user SAGA_SCU initiates every request below a modality, workstation or routing engine SCP service class provider PACS_ARCHIVE answers on the SOP classes it declares the archive C-ECHO is the peer alive and reachable C-ECHO-RQ C-ECHO-RSP - Success 0x0000 C-STORE push instances into the archive C-STORE-RQ + data set C-STORE-RSP - Success 0x0000 C-FIND ask which studies match C-FIND-RQ - identifier of matching keys C-FIND-RSP - Pending 0xFF00 per match C-MOVE have the archive send them C-MOVE-RQ - destination AE title C-MOVE-RSP - remaining / completed / failed C-MOVE hands off to a second association; C-GET returns the instances on the same one.
C-STORE, C-FIND and C-MOVE message flow
DCMTK storescu
storescu -v -aec PACS_ARCHIVE -aet SAGA_SCU pacs.example.org 11112 CT.000001.dcm

See also C-FINDStorage CommitmentPresentation Context

CapabilityStatement

FHIR

Also: FHIR Conformance resource

A CapabilityStatement is the FHIR resource a server publishes at /metadata to declare what it actually supports: resource types, interactions, search parameters, profiles, and security schemes. Clients read it to discover an endpoint instead of guessing. Treat it as advertising rather than proof: vendor statements routinely overstate support, so probe the endpoint before you scope work against it.

See also FHIR Search ParameterFHIR ProfileConformance Statement

Full explanation

CD Import

Imaging ops

Also: Outside study import, Media import

CD import is the workflow for ingesting outside studies that arrive on physical media or as a downloaded archive, reading the DICOMDIR, and loading the images into the local PACS. The catch is identity: the outside patient ID, accession number, and often the study description belong to another organization, so every import needs coercion rules and an audit trail of what was changed.

See also Study ReconciliationPatient ID MergePart 10 FilePACS

Full explanation

Channel

Integration

A channel is one configured interface inside an integration engine: a source that receives messages, optional filters and transformers, and one or more destinations that deliver the result. Mirth® Connect, Open Integration Engine, and BridgeLink all use this structure, and a channel is the unit that gets deployed, versioned, monitored, and exported as XML.

The anatomy of a Mirth Connect channel from source to destinations CHANNEL adt-to-downstream one source connector, three destination connectors, deployed and started SOURCE - EXACTLY ONE CONNECTOR; IT DECIDES WHEN A MESSAGE EXISTS TCP Listener MLLP · 0.0.0.0:6661 inbound data type HL7 v2.x Source Filter MSH-9 = ADT^A01 false ends it as FILTERED Source Transformer inbound HL7 v2.x · outbound HL7 v2.x steps run in order, then the encoded message DESTINATIONS - EACH GETS THE ENCODED MESSAGE AND RUNS ITS OWN FILTER AND TRANSFORMER Filter PV1-2 = I Transformer to FHIR Patient HTTP Sender application/fhir+json POST https://ehr.example.org/fhir/Patient Filter PID-3 not empty Transformer to SQL params Database Writer org.postgresql.Driver INSERT INTO adt_feed (mrn,class,ts) VALUES (?,?,?) Filter no rules, accept all Transformer no steps, passthrough File Writer append, one file per day /var/mirth/archive/adt-20260726.hl7 MESSAGE STORE each connector keeps its own copy; storage level and pruning are channel settings CONTENT RAW PROCESSED RAW TRANSFORMED ENCODED SENT RESPONSE STATUS RECEIVED FILTERED TRANSFORMED SENT QUEUED ERROR
The anatomy of a Mirth Connect channel from source to destinations

See also Source ConnectorDestination ConnectorTransformerMirth Connect

Full explanation

Channel Export XML

MirthSync

Also: Channel Export

A channel export XML is the serialized form of one Mirth® Connect channel: its connectors, filters, transformers, and metadata in a single file that can be imported into another server. It carries the channel's UUID, so re-importing it updates the existing channel rather than creating a second copy. Code templates, resources, and configuration map values are not included.

Head of an export
<channel version="4.5.2">
  <id>7f3c1a90-0b42-4a9e-8c11-2d6f5b3e9e21</id>
  <name>ADT_Inbound</name>
  <sourceConnector>...</sourceConnector>

See also ChannelCode TemplateConfiguration MapMirthSync

Full explanation

Channel Group

MirthSync

A channel group is a folder-like container that organizes related Mirth® Connect channels, such as every ADT feed or every lab interface. Groups exist purely for organization and have no runtime effect on routing. They matter operationally because MirthSync mirrors them in the on-disk directory layout, so renaming a group reshuffles the file tree and produces a noisy diff.

See also ChannelDisk ModeMirthSync

Full explanation

CIOD

DICOM

Also: Composite Information Object Definition

A Composite Information Object Definition (CIOD) is the template for a complete DICOM object such as CT Image or Basic Text SR, assembled from modules marked mandatory, conditional, or user-optional. The standard defines 174 of them, and each pairs with a service to form a SOP Class. Those usage flags decide what a validator will reject.

See also IODModuleSOP Class

Full explanation

Code Template

MirthSync

A code template is a reusable JavaScript function stored on a Mirth® Connect server and shared across channels instead of being copy-pasted into every transformer. Templates live in libraries, and each channel must explicitly subscribe to a library before its functions resolve. Forgetting that subscription is the usual reason a freshly pushed channel throws a ReferenceError on the target server.

See also TransformerChannelGlobal ScriptMirthSync

Full explanation

Component

HL7 v2

Also: HL7 component

An HL7 component is one of the parts a field divides into on the caret character, used when a single field carries structured data. The patient name field PID-5 holding DOE^JANE^A has three components: family name, given name, middle name. A literal caret inside a value must be escaped, or the parser will split the field in the wrong place.

See also FieldSubcomponentEncoding CharactersPID Segment

Full explanation

Configuration Map

MirthSync

The configuration map is a server-level table of key-value pairs holding environment-specific settings such as database URLs, hostnames, and API keys, read from channel scripts at runtime. It is what keeps a single channel definition portable across dev, staging, and production. MirthSync omits it from pull and push unless you pass --include-configuration-map, precisely because its values differ per server.

Reading a key in a transformer
var dbUrl = configurationMap.get('lab.db.url');

See also Environment PromotionMirthSyncChannelGlobal Script

Full explanation

Conformance Statement

DICOM

Also: DICOM Conformance Statement, DCS

A conformance statement is the document a vendor must publish listing every SOP Class, transfer syntax, role, and security profile a DICOM device supports. Read it before scoping any integration: it predicts which associations will negotiate successfully. It is also self-certified and unaudited, so treat it as a hypothesis and validate with C-ECHO and real test data.

See also Presentation ContextSOP ClassC-ECHOInterface Specification

Full explanation

Covered Entity

Security

A covered entity is one of three organization types that HIPAA obligates directly: health plans, healthcare clearinghouses, and healthcare providers who transmit health information electronically in connection with a covered transaction. Covered entities carry compliance obligations directly, including the security risk analysis under §164.308(a)(1)(ii)(A): a consultant can run the assessment, but accountability for it never transfers.

See also Business AssociateBAAHIPAASecurity Risk Analysis

Full explanation

D

Dashboard Statistics

MirthSync

Also: Channel Statistics

Dashboard statistics are the per-channel counters Mirth® Connect reports for received, filtered, queued, sent, and errored messages. Filtered counts messages a filter deliberately rejected rather than failures, which is why a perfectly healthy channel can show a large filtered number. Counts accumulate until someone clears them, so watch the rate of change and queue depth instead of absolute totals.

See also Message FilterThroughputMessage QueueAdmin Console

Full explanation

Data Element

DICOM

A data element is one unit of DICOM data: a tag, a Value Representation, a length, and the value itself. Elements appear in ascending tag order within a data set, and an element whose VR is SQ contains a sequence of nested data sets rather than a primitive value. Everything in a DICOM object is built from these four fields.

See also DICOM TagValue RepresentationData Set

Full explanation

Data Set

DICOM

A data set is the ordered collection of data elements that makes up a DICOM object. In a Part 10 file it follows the File Meta Information and is encoded in whatever transfer syntax that header declares; on the wire it travels inside P-DATA-TF packets after a DIMSE command set. The structure is identical either way.

See also Data ElementFile Meta InformationPart 10 File

Full explanation

De-identification

Security

Also: Anonymization

De-identification is the process of stripping a data set of identifiers so it is no longer PHI and falls outside HIPAA's use and disclosure restrictions. The Privacy Rule recognizes exactly two methods: Safe Harbor, which removes 18 enumerated identifier types, and Expert Determination. Imaging adds a third problem, burned-in pixel text, that neither method solves for you.

De-identification profile applied to a DICOM data set original data set profile de-identified data set (0010,0010) PatientName DOE^JANE^M Z (0010,0010) PatientName zero length (0010,0020) PatientID 4471102 Z (0010,0020) PatientID zero length (0010,0030) PatientBirthDate 19540312 Z (0010,0030) PatientBirthDate zero length (0008,0050) AccessionNumber 20260726-0042 Z (0008,0050) AccessionNumber zero length (0020,000D) StudyInstanceUID 1.2.826.0.1.3680043.8.7 U (0020,000D) StudyInstanceUID 1.2.826.0.1.3680043.8.9911 (0008,0080) InstitutionName SAGA GENERAL HOSPITAL X (0008,0080) InstitutionName element removed (0028,0010) Rows 512 K (0028,0010) Rows 512 (0012,0062) PatientIdentityRemoved not present + (0012,0062) PatientIdentityRemoved YES Basic Application Level Confidentiality Profile - PS3.15 Annex E X remove the element · Z replace with zero length · U replace with a new, consistently remapped UID K not in the profile, kept as is · + added by the profile Tag actions never touch burned-in pixel annotation. Removing that is a separate step on the pixel data itself.
De-identification profile applied to a DICOM data set

See also Safe HarborExpert DeterminationDICOM Confidentiality ProfilePseudonymization

Full explanation

Deploy / Undeploy

MirthSync

Also: Deploy, Undeploy

Deploying is the step that compiles a saved Mirth® Connect channel and starts it on the server; undeploying stops it and releases its ports and connections. Saving alone changes nothing at runtime, which is the classic reason an edited transformer appears to have no effect. MirthSync can push every channel and then deploy them all in one bulk operation.

Push and bulk-deploy
./mirthsync.sh -s https://server:8443/api -u admin -t ./mirth-config --deploy-all push

See also ChannelEnvironment PromotionMirthSyncAdmin Console

Full explanation

Destination Connector

Integration

A destination connector is the outbound side of a channel: the component that delivers a transformed message to a receiving system. A channel can have several, each with its own transformer, response handling, and queue, and they run in order or in parallel depending on configuration. A destination that queues on failure is what protects the feed when a downstream system goes offline.

See also ChannelSource ConnectorMessage QueueRetry and Redelivery

Full explanation

DFT Message

HL7 v2

Also: Detailed Financial Transaction, DFT^P03

A DFT message posts charge data from a clinical system to the billing or revenue cycle platform. DFT^P03 is the primary trigger event, carrying one repeating FT1 segment per charge line with its CPT or HCPCS code, amount, and date of service. Duplicate-charge detection is the hard part of any DFT interface.

See also DG1 SegmentPV1 SegmentADT Feed

Full explanation

DG1 Segment

HL7 v2

Also: Diagnosis segment, DG1

The DG1 segment carries a diagnosis code attached to an encounter, repeating for each diagnosis and appearing in ADT, ORM, and DFT messages. DG1-3 holds the ICD-10-CM code and its coding system, DG1-6 marks it admitting, working, or final, and DG1-15 sets priority. Priority 1 drives DRG assignment, so mis-sequencing has billing consequences.

See also DFT MessageADT FeedORM Message

Full explanation

DICOM Confidentiality Profile

Security

Also: Supplement 142, Basic Application Level Confidentiality Profile

A DICOM Confidentiality Profile is a named recipe in PS3.15 Annex E for removing patient identity from DICOM objects. The Basic Profile removes or replaces several hundred identifying attributes; the option profiles Supplement 142 added for clinical trials then retain UIDs, device identity, or patient characteristics as the study design requires. Private tags and burned-in pixel text are the classic escapes.

Basic Profile actions
(0010,0010) PatientName      -> Z  replaced with a dummy value
(0010,1040) PatientAddress   -> X  removed
(0020,000D) StudyInstanceUID -> U  new UID (K if Retain UIDs)

See also De-identificationPixel DataDICOM TagSafe Harbor

Full explanation

DICOM Tag

DICOM

Also: Attribute tag, Group/element

A DICOM tag is the group and element pair that identifies an attribute, written as (0010,0010) for Patient's Name. Even group numbers are standard; odd groups are private and belong to whichever vendor claimed them through a private creator element. The PS3.6 data dictionary defines more than 5,000 tags with their names, VRs, and VMs.

Reading a tag
(0010,0010)  group 0010 = Patient information
             element 0010 = Patient's Name
(0029,1010)  odd group    = private, needs its private creator

See also Data ElementValue RepresentationRetired Attribute

Full explanation

DICOMweb

DICOM

Also: DICOM over HTTP, PS3.18

DICOMweb is the family of HTTP services defined in PS3.18 that expose DICOM over REST: QIDO-RS to search, WADO-RS to retrieve, STOW-RS to store, and UPS-RS for worklists. It does not replace DIMSE, and most enterprises run both, using DIMSE for device-to-archive traffic and DICOMweb for browser viewers, cloud bridges, and AI pipelines.

QIDO-RS, WADO-RS and STOW-RS mapped to their DIMSE equivalents THREE CORE DICOMweb SERVICES - PLAIN HTTP OVER TLS UPS-RS adds worklists - DIMSE map per band DICOMweb client browser viewer or gateway no AE title no association TLS session only every request stands alone DICOMweb server BASE URL https://pacs .example.org /dicom-web one origin one TLS cert port 443 firewall friendly GET QIDO-RS search C-FIND Accept: application/dicom+json GET /studies?PatientID=4471102&ModalitiesInStudy=CT 200 [{"0020000D":{"vr":"UI","Value":[...]}}] - 204 if no match GET WADO-RS retrieve C-MOVE / C-GET Accept: multipart/related; type="application/dicom" GET /studies/{study}/series/{series}/instances/{sop} 200 one part per instance - /metadata, /frames/n, /rendered POST STOW-RS store C-STORE Content-Type: multipart/related; type="application/dicom" POST /studies or /studies/{study} to pin the study 200 all stored - 202 partial - 409 none - (0008,1199) refs WHERE THEY DIFFER DICOMweb DIMSE transport HTTPS 443, one stateless request TCP 104 or 11112, one stateful association identity TLS and a bearer token, no AE title calling AE title and called AE title payload dicom+json metadata, multipart bulk data command set and data set in P-DATA-TF PDUs
QIDO-RS, WADO-RS and STOW-RS mapped to their DIMSE equivalents

See also WADO-RSQIDO-RSSTOW-RSDIMSE

DIMSE

DICOM

Also: DICOM Message Service Element

DIMSE (DICOM Message Service Element) is the message layer of classic DICOM networking. It defines the verbs two nodes exchange inside an association: C-STORE to send an object, C-FIND to query, C-MOVE to request a transfer, C-ECHO to verify the link, plus the N-services behind MPPS and storage commitment.

DICOM association handshake between two application entities SCU - calling AE SAGA_SCU 10.4.2.11 : 11112 SCP - called AE PACS_ARCHIVE 10.4.2.50 : 104 A-ASSOCIATE-RQ A-ASSOCIATE-AC C-STORE-RQ + data set C-STORE-RSP status 0x0000 A-RELEASE-RQ A-RELEASE-RP handshake data transfer release A-ASSOCIATE-RQ CARRIES calling AE title called AE title presentation ctx max PDU 16384
DICOM association handshake between two application entities

See also AssociationC-STOREDICOMweb

Full explanation

Disk Mode

MirthSync

Also: --disk-mode

Disk mode is the MirthSync option that decides how finely a server's configuration is broken apart on disk: code extracts every JavaScript and SQL block to its own file, items writes one XML file per channel and code template, groups writes one file per channel group and template library, and backup writes a single XML equivalent to an Administrator backup. Finer modes give readable pull-request diffs.

The four modes
-m code    channel.xml + transformer.js + sourceConnector.js  (default)
-m items   Channels/Default Group/ADT_Inbound.xml
-m groups  ChannelGroups/Default Group.xml
-m backup  backup.xml

See also MirthSyncChannel GroupChannel Export XML

Full explanation

Dose Reporting

Imaging ops

Also: RDSR, Radiation Dose Structured Report

Dose reporting is the capture and submission of radiation dose data from CT, fluoroscopy, and other ionizing modalities, usually as a DICOM Radiation Dose Structured Report emitted at the end of the exam. Programs like the ACR Dose Index Registry consume it, and the integration work is extracting RDSR values reliably across vendors that populate them inconsistently.

RDSR object
(0008,0060) Modality  SR
SOP Class 1.2.840.10008.5.1.4.1.1.88.67  (X-Ray Radiation Dose SR)
carries CTDIvol and DLP per irradiation event

See also Structured ReportModalityRISPACS

Full explanation

E

Embedded Git

MirthSync

Embedded Git is the JGit-based Git implementation bundled inside the MirthSync CLI and admin console plugin, so init, status, add, commit, diff, log, and branch checkout work with no separate Git installation. It covers the everyday loop only: creating branches, merging, rebasing, and tagging still require the native git binary in the same directory.

See also MirthSyncEnvironment PromotionDisk Mode

Full explanation

Encoding Characters

HL7 v2

Also: HL7 delimiters, MSH-2

Encoding characters are the four delimiters an HL7 v2 message declares in MSH-2, immediately after the field separator: component (^), repetition (~), escape (\), and subcomponent (&). Conformant parsers read them from each message rather than assuming the conventional set, because the standard permits other characters even though almost nobody uses them.

Delimiter declaration
MSH|^~\&|...

See also MSH SegmentFieldComponentSubcomponent

Full explanation

Encryption at Rest

Security

Encryption at rest protects ePHI stored on disk, in object storage, in database files, and in backups, so that stolen media yields ciphertext instead of records. AES-256 with keys held in a managed KMS is the common baseline. HIPAA treats it as addressable rather than required, but encryption meeting HHS guidance renders PHI secured, which keeps a lost laptop out of breach notification.

See also Encryption in TransitePHIBreach Notification RuleHIPAA Security Rule

Full explanation

Encryption in Transit

Security

Encryption in transit protects ePHI moving across a network, most often via TLS 1.2 or higher on HTTPS, MLLP, and DICOM associations. The recurring gap in healthcare integration is the legacy leg: a modality or lab analyzer that speaks only clear text, tunneled or fenced onto an isolated VLAN because it cannot be upgraded.

TLS-wrapped legs
HTTPS  443    FHIR / DICOMweb
MLLP   2575   HL7 v2 (no separate TLS port)
DICOM  2762   DIMSE over TLS (11112 is clear text)

See also Encryption at RestMLLPAssociationHIPAA Security Rule

Full explanation

Endpoint

Integration

An endpoint is one addressable end of an interface: a host, a port, and a protocol that either sends or receives clinical data. In a topology diagram every connector line terminates at two endpoints, and in practice an endpoint is what gets firewall rules, TLS certificates, and credentials attached to it. Vendors often supply separate endpoints per environment.

Endpoint notation
lis.example.org:6661     HL7 v2 over MLLP
pacs.example.org:11112   DICOM, AE PACS_ARCHIVE
api.example.org:443      FHIR R4 over HTTPS

See also PortFirewall AllowlistTopology DiagramSource Connector

Full explanation

Enterprise Imaging

Imaging ops

Enterprise imaging is the strategy of consolidating image and multimedia content from every department (radiology, cardiology, pathology, ophthalmology, dermatology, wound care) into one archive with a single patient-centric viewer. The hard parts are the non-DICOM content, encounter-based departments that never had accession numbers, and reconciling patient identity across systems that never had to agree before.

See also VNAXDS-IPatient ID MergePACS

Full explanation

Environment Promotion

Integration

Also: Dev/test/prod promotion

Environment promotion is the practice of moving an interface change through development, test, and production in that order, with the same artifact deployed at each stage. In integration work the artifact is usually an exported channel plus its code templates, and the trap is configuration that differs per environment: hostnames, ports, credentials, and database names belong in a configuration map, never in the channel itself.

Promoting an interface from dev to test to production SAME ARTIFACT, THREE BINDINGS the channel never changes; the map does mirthsync.sh --deploy-all push mirthsync.sh --deploy-all push ARTIFACT one commit, one tag, three deployments git main a3f19c4 9c21b07 41ee5d2 tag v1.4.0 DEV authored here mirth-dev:8443/api Channels/Default Group/ADT_Inbound/channel.xmltransformer.jsCodeTemplates/Utilities/parseHL7.js a3f19c4 v1.4.0 TEST verified here mirth-test:8443/api Channels/Default Group/ADT_Inbound/channel.xmltransformer.jsCodeTemplates/Utilities/parseHL7.js a3f19c4 v1.4.0 PROD runs here mirth-prod:8443/api Channels/Default Group/ADT_Inbound/channel.xmltransformer.jsCodeTemplates/Utilities/parseHL7.js a3f19c4 v1.4.0 = = CONFIGURATION MAP - one table per server, read by the channel at runtime adt.remote.host hl7-dev.internal hl7-test.internal hl7.hosp.org adt.remote.port 6661 6661 2575 lab.db.host pg-dev:5432 pg-test:5432 pg-prod:5432 lab.db.user mirth_dev mirth_test mirth_prod Hostnames, ports, credentials and database names belong in the map, so the XML that passed test is the XML that reaches production. MirthSync leaves the map out of pull and push unless --include-configuration-map is passed.
Promoting an interface from dev to test to production
Promotion path
dev -> test -> prod   (identical channel XML)
per-environment values resolved from the configuration map

See also Configuration MapMirthSyncChannel Export XMLDeploy / Undeploy

ePHI

Security

Also: Electronic Protected Health Information, e-PHI

Electronic protected health information is PHI in electronic form: database rows, HL7 messages, DICOM objects, PDFs on a share drive, backups. The HIPAA Security Rule applies only to ePHI, which is why scoping a risk analysis starts with an inventory of every system that creates, stores, processes, or transmits it.

See also PHIHIPAA Security RuleSecurity Risk AnalysisEncryption at Rest

Full explanation

ESB

Integration

Also: Enterprise Service Bus

An ESB, or enterprise service bus, is general-purpose integration middleware that routes and transforms messages across an organization's applications. Healthcare interface engines are a specialized branch of the same family, and teams sometimes inherit an ESB from a corporate IT standard. The gap shows up in the details: MLLP framing, HL7 v2 parsing, and ACK semantics arrive as add-on modules rather than first-class behavior.

See also MiddlewareInterface EngineHub-and-Spoke

Full explanation

EVN Segment

HL7 v2

Also: Event Type segment, EVN

The EVN segment records which trigger event produced an HL7 v2 message and when it happened, sitting immediately after MSH in ADT and MDM messages. Its two timestamps are routinely conflated: EVN-2 is when a clerk recorded the event, EVN-6 is when the event actually occurred. Billing and reporting usually want EVN-6.

See also Trigger EventADT FeedMSH SegmentMDM Message

Full explanation

Expert Determination

Security

Expert Determination is the HIPAA de-identification method in which a statistician or similarly qualified expert documents that the risk of re-identifying any individual in a data set is very small. It costs more than Safe Harbor and requires a written report, but it preserves fields that research and AI training actually need, such as full dates or five-digit ZIP codes.

See also De-identificationSafe HarborPseudonymization

Full explanation

Explicit VR Little Endian

DICOM

Also: 1.2.840.10008.1.2.1

Explicit VR Little Endian (UID 1.2.840.10008.1.2.1) writes the two-character VR alongside each tag, making the data set self-describing. A parser can skip or copy an unknown private element without a data dictionary, which is why most modern archives negotiate it first. File Meta Information is always encoded this way regardless of what the data set uses.

Element on the wire
10 00 10 00   50 4E   0C 00   "DOE^JANE^A^^"
  tag          VR=PN   length   value

See also Transfer SyntaxImplicit VR Little EndianFile Meta Information

Full explanation

F

FHIR

FHIR

Also: Fast Healthcare Interoperability Resources, HL7 FHIR

FHIR (Fast Healthcare Interoperability Resources) is an HL7 standard that models clinical data as discrete resources exchanged over REST APIs in JSON or XML. It replaces bespoke messaging plumbing with ordinary web technology: HTTPS, OAuth 2.0, and predictable URLs. R4 is the version US regulation targets, so most production work still lands there rather than on newer releases.

See also FHIR ResourceHL7 v2SMART on FHIRFHIR Versions

Full explanation

FHIR Bundle

FHIR

Also: Bundle

A FHIR Bundle is a container resource that carries a collection of other resources in one payload. Its type field decides the semantics: searchset for query results, transaction for an all-or-nothing multi-resource write, batch for the same entries applied independently, document for a clinical document, message for event delivery. Paginated searches return searchset Bundles whose link array holds the next-page cursor.

FHIR resource and bundle structure Bundle type = searchset total = 3 GET /Observation?subject=Patient/4471102 entry[0] Patient id = 4471102 name = DOE, JANE birthDate = 1954-03-12 fullUrl [base]/Patient/4471102 entry[1] Encounter id = enc-88 status = finished subject = Patient/4471102 entry[2] Observation code = 8867-4 heart rate subject = Patient/4471102 encounter = Encounter/enc-88 subject subject encounter Each entry carries one resource. Relative references resolve inside the bundle, so it travels as a unit.
FHIR resource and bundle structure
Searchset Bundle
{
  "resourceType": "Bundle",
  "type": "searchset",
  "total": 142,
  "link": [{ "relation": "next", "url": "https://fhir.example.com/R4/Patient?page=2" }],
  "entry": [{ "resource": { "resourceType": "Patient", "id": "a1" } }]
}

See also FHIR ResourceFHIR Search ParameterFHIR Reference

Full explanation

FHIR Profile

FHIR

Also: StructureDefinition

A FHIR profile is a StructureDefinition that constrains a base resource for a particular use: making optional elements required, fixing terminology bindings, forbidding extensions, or adding new ones. Servers assert conformance by listing profile URLs in meta.profile, and validators check payloads against them. Claiming a profile you do not actually satisfy is the most common conformance-test failure.

See also US CoreImplementation GuideValueSet and CodeSystemFHIRPath

Full explanation

FHIR Reference

FHIR

Also: Reference (FHIR)

A FHIR reference is the pointer one resource uses to name another, written as a relative URL like Patient/123, an absolute URL, or a logical identifier. References are what turn separate resources into a clinical graph. The common failure is a dangling reference: the target lives on a different server, or was never created, so consumers resolve nothing.

See also FHIR ResourceFHIR BundleFHIR Search Parameter

Full explanation

FHIR Resource

FHIR

Also: Resource (FHIR)

A FHIR resource is the standard's unit of exchange: a self-describing JSON or XML object representing one clinical or administrative concept, such as Patient, Observation, Condition, or Encounter. R4 defines over 140 resource types. In JSON every resource names its resourceType; once stored on a server it also carries an assigned id and usually a meta block holding version and profile claims.

Patient resource
{
  "resourceType": "Patient",
  "id": "erXuFYUfucBZaryVksYEcMg3",
  "name": [{ "family": "Lin", "given": ["Ada"] }],
  "birthDate": "1987-09-12"
}

See also FHIRFHIR BundleFHIR ReferenceFHIR Profile

Full explanation

FHIR Search Parameter

FHIR

Also: FHIR search, _include, _revinclude

A FHIR search parameter is a named, typed query argument a server supports on a resource type, such as Patient?family=Doe&birthdate=1980-01-15. Types include token, date, reference, quantity, and string, each with its own modifiers and prefixes. _include and _revinclude pull linked resources into the same Bundle. Servers only honor parameters listed in their CapabilityStatement, so portable queries stay conservative.

Search with reverse include
GET /R4/Observation?patient=123&category=vital-signs&_revinclude=Provenance:target
Authorization: Bearer <access_token>

See also CapabilityStatementFHIR BundleFHIRPath

Full explanation

FHIR Versions

FHIR

Also: FHIR R4, FHIR R5, STU3, DSTU2

FHIR versions are the standard's numbered releases: DSTU1 (2014), DSTU2 (2015), STU3 (2017), R4 (2019), R4B (2022), R5 (2023), and R6 in development. R4 was the first release with normative content and remains what US regulation and every major EHR API target, so that is what most integrations still build against. R5 refines rather than breaks R4's normative core.

See also FHIRHL7 v2 VersionsUS Core

Full explanation

FHIRPath

FHIR

Also: FHIRPath expression

FHIRPath is the path-based expression language FHIR uses to navigate and evaluate against resource trees, written as dotted paths with functions, for example Patient.name.where(use = 'official').family. It powers profile invariants, search parameter definitions, and validation rules across the specification. It is not JSONPath or XPath: every expression evaluates to a collection, and an empty collection is not an error.

See also FHIR ResourceFHIR ProfileFHIR Search Parameter

Full explanation

Field

HL7 v2

Also: HL7 field

An HL7 field is the unit of data between two pipe characters in a v2 segment, referenced by position: PID-5 is the fifth field of the PID segment. Position is everything, so an empty field still needs its pipe. Dropping one shifts every later value into the wrong field.

See also ComponentRepetitionSegmentEncoding Characters

Full explanation

File Meta Information

DICOM

Also: FMI, Group 0002

File Meta Information is the group 0002 header at the front of every Part 10 DICOM file, always encoded in Explicit VR Little Endian no matter how the data set that follows is encoded. It carries the Media Storage SOP Class and Instance UIDs, the Transfer Syntax UID that decodes the rest, and the implementation that wrote the file.

Core group 0002 elements
(0002,0000) FileMetaInformationGroupLength  UL
(0002,0002) MediaStorageSOPClassUID         UI
(0002,0003) MediaStorageSOPInstanceUID      UI
(0002,0010) TransferSyntaxUID               UI
(0002,0012) ImplementationClassUID          UI

See also Part 10 FileTransfer SyntaxPreamble

Full explanation

Firewall Allowlist

Integration

Also: Firewall whitelist, Network allowlist

A firewall allowlist is the explicit set of source addresses, destination hosts, and ports permitted to cross a network boundary. Because MLLP holds a long-lived TCP session and returns its ACK on the same connection, the rule request has to name both hosts, the port, and the side that opens the session. An interface that works in test and stalls in production is usually an allowlist gap.

See also PortEndpointMLLPEncryption in Transit

Full explanation

Frame of Reference

DICOM

Also: (0020,0052), Frame of Reference UID

Frame of Reference UID (0020,0052) declares that a set of images share one spatial coordinate system, so their positions and orientations can be compared directly. Registration, fusion, RT structure sets, and segmentation objects all depend on it. Two series with different Frame of Reference UIDs cannot be overlaid without an explicit spatial registration object.

See also Image Position (Patient)Image Orientation (Patient)UID

G

Global Script

MirthSync

Also: Global Scripts, Deploy Script, Preprocessor Script

Global scripts are JavaScript hooks that run at fixed points in the Mirth® Connect server lifecycle rather than inside one channel: deploy, undeploy, preprocessor, and postprocessor. The preprocessor and postprocessor execute for every message on every channel, so heavy logic there becomes a site-wide throughput ceiling and a hard-to-trace source of latency.

See also Code TemplateTransformerThroughputDeploy / Undeploy

Full explanation

H

Hanging Protocol

Imaging ops

A hanging protocol is the saved rule set that decides how a study is laid out on a radiologist's monitors: which series go in which viewport, what orientation, what window level, and which priors hang alongside. DICOM defines a Hanging Protocol IOD for portability, but most PACS store their own proprietary version, so layouts rarely survive a viewer swap.

A hanging protocol arranging current and prior studies into viewports HANGING PROTOCOL - A RULE SET IN, A LAYOUT OUT (0072,0002) Name = CT CHEST 2X2 RULE SET - (0072,000C) HANGING PROTOCOL DEFINITION SEQUENCE (0008,0060) Modality CT (0008,2218) Anatomic Region CHEST (0072,0014) Priors referenced 1 (0072,0006) Protocol level SITE (0072,0020) ImageSetsSequence · set 1 CURRENT · (0072,0034) RELATIVE_TIME, (0072,0038) 0\0, (0072,003A) HOURS set 2 PRIOR · (0072,0034) ABSTRACT_PRIOR, (0072,003C) 1\1 is the most recent prior · (0072,0040) labels both selects the layout below (0072,0200) DISPLAY SETS - ONE (0072,0300) IMAGE BOX EACH (0072,0108) positions each box 1 disp set SET 1 CURRENT CT AXIAL 2.0 mm 20260726 · 412 images 2 disp set SET 2 PRIOR CT AXIAL 2.0 mm 20251104 · 388 images 3 disp set SET 1 CURRENT CORONAL MPR 3.0 mm 20260726 · 138 images 4 disp set SET 2 PRIOR CORONAL MPR 3.0 mm 20251104 · 122 images 1\2 3\4 SYNCHRONIZED SCROLLING (0072,0210) Synchronized ScrollingSequence (0072,0212) DisplaySet ScrollingGroup = 1\2 (0072,0212) = 3\4 Scroll the current axial stack and the prior tracks it. (0072,0202) DisplaySetNumber · (0072,0304) STACK · (0072,0700) L\P · (0072,0702) VOIType LUNG Portable form: Hanging Protocol Storage 1.2.840.10008.5.1.4.38.1; FIND on 1.2.840.10008.5.1.4.38.2. Most PACS keep their own proprietary layouts instead, which is why hanging protocols rarely survive a viewer swap.
A hanging protocol arranging current and prior studies into viewports

See also Radiologist WorklistZero-Footprint ViewerWindow Center / WidthPresentation State

Full explanation

HIPAA

Security

Also: Health Insurance Portability and Accountability Act

HIPAA is the US federal law (the Health Insurance Portability and Accountability Act of 1996) that sets national standards for protecting patient health information. Its operative parts are the Privacy Rule, the Security Rule, and the Breach Notification Rule, enforced by the HHS Office for Civil Rights. There is no official HIPAA certification: compliance is self-attested and proven through documentation.

See also HIPAA Privacy RuleHIPAA Security RuleBreach Notification RuleCovered Entity

Full explanation

HIPAA Privacy Rule

Security

The HIPAA Privacy Rule (45 CFR Part 164, Subpart E) governs how covered entities may use and disclose protected health information in any form, electronic, paper, or oral. It grants patients rights to access, amend, and receive an accounting of disclosures of their records, and it establishes the minimum necessary standard that shapes role-based access design.

See also PHIMinimum NecessaryHIPAA Security RuleBAA

Full explanation

HIPAA Security Rule

Security

The HIPAA Security Rule (45 CFR Part 164, Subpart C) prescribes the safeguards required to protect electronic protected health information. It organizes 18 standards into administrative, physical, and technical categories, each with required or addressable implementation specifications. Addressable never means optional: you implement it, implement a documented equivalent, or record why neither is reasonable and appropriate.

Safeguard citations
§164.308  Administrative  9 standards
§164.310  Physical        4 standards
§164.312  Technical       5 standards

See also ePHISecurity Risk AnalysisAudit LogEncryption in Transit

Full explanation

HITRUST CSF

Security

Also: HITRUST, HITRUST Common Security Framework

HITRUST CSF is a certifiable security framework built for healthcare that folds HIPAA, NIST, ISO 27001, PCI DSS, and dozens of other sources into one prescriptive control set. Three tiers exist: e1 for basic hygiene, i1 for implemented practice, and the risk-based r2 on a two-year cycle. Health systems and payers increasingly require it from vendors handling PHI.

See also SOC 2ISO 27001HIPAABusiness Associate

Full explanation

HL7 v2

HL7 v2

Also: Health Level Seven Version 2, HL7 Version 2, HL7 v2.x

HL7 v2 is a pipe-delimited messaging standard for exchanging clinical and administrative data between healthcare systems, first published as v2.1 in 1990 and still carrying the majority of real-time hospital interfaces. Messages are plain text built from segments, fields, and components, and travel over MLLP on a TCP socket rather than an HTTP API.

See also SegmentMLLPFHIRInterface Engine

Full explanation

HL7 v2 Versions

HL7 v2

Also: v2.5.1, MSH-12, Version ID

HL7 v2 versions run from v2.1 in 1990 to v2.9 in 2019, with v2.5.1 the version most widely deployed in production. Every message names the version it claims in MSH-12. Releases are additive, so older parsers ignore appended fields they do not recognize, but treat MSH-12 as a hint rather than a contract.

See also HL7 v2MSH SegmentInterface Specification

Full explanation

Hub-and-Spoke

Integration

Hub-and-spoke is the integration topology where every system connects only to a central interface engine, which handles all transformation and routing between them. Adding the Nth system costs one interface instead of N-1, which is why it is the default pattern in healthcare. The tradeoff is that the hub becomes a single point of failure worth clustering.

Hub-and-spoke versus point-to-point integration topology point to point hub and spoke EHR LIS RIS PACS BILL RX interface engine EHR LIS RIS PACS BILL RX 15 interfaces to build and keep N × (N - 1) / 2 6 interfaces to build and keep N SYSTEMS POINT TO POINT HUB AND SPOKE 6156 126612 2019020
Hub-and-spoke versus point-to-point integration topology

See also Point-to-PointInterface SpaghettiInterface EngineTopology Diagram

Full explanation

I

Image Orientation (Patient)

DICOM

Also: (0020,0037), Direction cosines

Image Orientation (Patient) (0020,0037) holds six values: the direction cosines of the image's first row and first column relative to the patient axes. It is what lets a viewer label left, right, head, and foot correctly on a reformatted view. Missing or inconsistent orientation across a series is a common reason multiplanar reconstruction refuses to build.

Axial slice
(0020,0037) ImageOrientationPatient = 1\0\0\0\1\0
            row cosines = +X (left)   column cosines = +Y (posterior)

See also Image Position (Patient)Frame of ReferenceValue Multiplicity

Full explanation

Image Position (Patient)

DICOM

Also: (0020,0032)

Image Position (Patient) (0020,0032) gives the x, y, and z coordinates in millimeters of the center of the first transmitted voxel, expressed in the patient coordinate system. Together with Image Orientation (Patient) it tells a renderer where each slice sits in space. Sorting a series by this value is more reliable than sorting by instance number.

See also Image Orientation (Patient)Frame of ReferenceValue Multiplicity

Full explanation

Imaging Routing Rules

Imaging ops

Imaging routing rules are the conditional forwarding logic on a DICOM gateway or router that decides where an inbound study goes based on its attributes: modality, AE Title, station name, body part, or study description. Typical uses include sending mammography to a dedicated workstation, copying studies to an AI pipeline, and compressing before forwarding offsite.

Gateway rule
if Modality == MG and StationName starts with "MAMMO"
    forward BREAST_WS, copy AI_CAD
else
    forward MAIN_ARCHIVE

See also RouterAE TitleC-STORETransfer Syntax

Full explanation

Implementation Guide

FHIR

Also: IG, FHIR IG

A FHIR implementation guide (IG) is a published package of profiles, value sets, search parameter definitions, and narrative rules that pins down how FHIR is used for one domain or jurisdiction. Base FHIR is deliberately broad; the IG is what makes two implementations actually interoperate. US Core, the Da Vinci guides, CARIN Blue Button, and SMART App Launch are the ones most US projects hit.

See also US CoreFHIR ProfileValueSet and CodeSystem

Full explanation

Implicit VR Little Endian

DICOM

Also: 1.2.840.10008.1.2, Default Transfer Syntax

Implicit VR Little Endian (UID 1.2.840.10008.1.2) is DICOM's default transfer syntax and the one every conforming SCP must accept. Each element is written as tag, four-byte length, value, with no VR on the wire, so a reader must consult the data dictionary to interpret anything. That makes private and unknown tags effectively unparseable.

Element on the wire
10 00 10 00   0C 00 00 00   "DOE^JANE^A^^"
  tag           length        value   (VR looked up in the dictionary)

See also Transfer SyntaxExplicit VR Little EndianValue Representation

Full explanation

Incident Response

Security

Incident response is the documented process for detecting, containing, investigating, and reporting a security event before it becomes an uncontrolled breach. HIPAA requires the procedures under §164.308(a)(6); the Breach Notification Rule starts the clock at discovery. The part teams skip is rehearsal: a tabletop exercise against ransomware or a vendor compromise finds the gaps a written plan hides.

See also Breach Notification RuleAudit LogSecurity Risk AnalysisHIPAA Security Rule

Full explanation

Interface Engine

Integration

Also: Integration engine, HL7 interface engine

An interface engine is middleware that receives clinical messages from one system, transforms them into the format another system expects, and routes them onward. Interface engine and integration engine mean the same thing in healthcare IT: the older name comes from the HL7 v2 era, the newer one from platforms that also speak FHIR, X12, and DICOM.

How an interface engine ingests, filters, transforms and routes a message INBOUND MLLP listener 10.8.1.20:6661 the engine ACKs MSA|AA once the message is committed, before any destination runs MSH|^~\&|EPIC|HOSP|MIRTH|SAGA|20260726120000||ADT^A01|MSG00001|P|2.5.1 PID|1||4471102^^^HOSP^MR||DOE^JANE^M||19540312|F PV1|1|I|3W^312^01^HOSP||||1234^SMITH^ANNE^^^^MD PID-3.4 is the assigning authority, PID-3.5 the type FILTER one boolean per message, evaluated before any transformation happens MSH-9 = ADT^A01 or ADT^A08 and MSH-11 = P and PID-3 not empty accept drop A drop is a normal outcome, not an error: the message is stored as filtered and never reaches a destination. TRANSFORM normalize once here, then shape the payload on each leg codes, identifiers and dates in one place PID-5 family DOE, given JANE PID-7 birthDate 1954-03-12 PID-8 F gender female PID-3.1 identifier MRN 4471102 PV1-2 I class IMP (v3 ActCode) MSH-12 2.5.1 v2.3 on the LIS leg ROUTE each leg has its own filter, transformer and queue LIS MLLP sender 10.8.1.44:6662 HL7 v2.3 MSH|^~\&|MIRTH|SAGA|LIS|LAB|20260726||ADT^A01|441|P|2.3 PID|1||4471102^^^HOSP^MR||DOE^JANE^M||19540312|F PV1|1|I|3W^312^01^HOSP||||1234^SMITH^ANNE^^^^MD MSH-10 is a new control ID on this leg; MSH-12 declares 2.3 EHR FHIR API HTTPS sender, OAuth 2.0 FHIR R4 POST [base]/Patient · application/fhir+json {"resourceType":"Patient","identifier":[{"value": "4471102"}],"gender":"female","birthDate":"1954-03-12"} on failure on failure ERROR QUEUE the failed leg retries on its own queue with backoff; the healthy leg keeps delivering connect timeout on :6662 MSA-1 = AE from the LIS HTTP 422 from the FHIR API
How an interface engine ingests, filters, transforms and routes a message

See also MiddlewareHub-and-SpokeChannelESB

Full explanation

Interface Spaghetti

Integration

Interface spaghetti is the tangle of direct, undocumented system-to-system connections that accumulates when an organization grows without a central engine. The practical symptom is that nobody can say what breaks when a system is retired, because the same transformation logic lives in a dozen places. Drawing a topology diagram is usually the first step out.

See also Point-to-PointHub-and-SpokeTopology DiagramInterface Engine

Full explanation

Interface Specification

Integration

Also: Interface spec, Interface requirements document

An interface specification is the written agreement between two systems describing exactly what will be exchanged: message types, trigger events, field-level mappings, code sets, transport and port, acknowledgment behavior, and error handling. It is the artifact both vendors sign off on before build, and the one that settles arguments later about whether a field was ever in scope.

See also Trigger EventMessage TypeConformance StatementTopology Diagram

IOD

DICOM

Also: Information Object Definition

An Information Object Definition (IOD) is the standard's data model for one kind of real-world entity, listing the modules an object of that type must, may, or conditionally must contain. Normalized IODs describe a single entity such as a print film box; composite IODs mix patient, study, series, and equipment information into one object.

See also CIODModuleSOP Class

Full explanation

ISO 27001

Security

Also: ISO/IEC 27001, ISO 27001:2022

ISO 27001 is the international standard for an information security management system, audited and certified by an accredited body on a three-year cycle with annual surveillance audits. The 2022 revision organizes 93 Annex A controls into organizational, people, physical, and technological themes. Health technology vendors selling into EU, UK, or APAC markets usually meet it before they meet HITRUST.

See also SOC 2HITRUST CSFSecurity Risk Analysis

Full explanation

J

JPEG 2000 Transfer Syntax

DICOM

Also: J2K, HTJ2K, High-Throughput JPEG 2000

The JPEG 2000 transfer syntaxes encapsulate DICOM pixel data as JPEG 2000 codestreams, in lossless and lossy variants (UIDs 1.2.840.10008.1.2.4.90 and .91), with High-Throughput JPEG 2000 added later for speed. They compress large CT and MR studies far better than RLE, but support is uneven and older archives often negotiate only uncompressed or JPEG Lossless.

See also Transfer SyntaxPixel DataConformance Statement

Full explanation

K

Key Object Selection

DICOM

Also: KOS, Key image note

A Key Object Selection (KOS) document is a small DICOM SR object that flags a chosen set of instances and records why, using codes such as For Teaching or Of Interest. Radiologists use it to mark key images, and cross-enterprise sharing uses it as the manifest listing which instances belong to a shared study.

See also Structured ReportSOP InstanceXDS-I

M

Macro

DICOM

Also: DICOM macro, Attribute macro

A DICOM macro is a block of attributes defined once in PS3.3 and included by reference inside multiple modules or sequences, so the standard does not repeat itself. Code Sequence Macro and Image Pixel Description Macro are the ones integrators meet most. Macros are an authoring device: on the wire their attributes appear as ordinary elements.

See also ModuleCIODData Element

Full explanation

MDM Message

HL7 v2

Also: Medical Document Management, MDM^T02

An MDM message reports a clinical document lifecycle event: created, status changed, amended, replaced, or cancelled. The TXA segment carries the document metadata (type, author, authentication status) and OBX segments carry the content when the event includes it. T02 delivers an original document with its full text; T01 is notification only.

See also OBX SegmentEVN SegmentTrigger Event

Full explanation

Message Filter

Integration

A message filter is the rule that decides whether a channel or destination processes a given message at all. Filters typically test a field such as MSH-9 message type, a sending facility, or an order-control code, and silently drop anything that does not match. A filter that is too broad is a common cause of messages that vanish without an error.

Filter rule
// process only ADT admits and updates
var t = msg['MSH']['MSH.9']['MSH.9.2'].toString();
return t === 'A01' || t === 'A08';

See also ChannelRouterTransformerMSH Segment

Full explanation

Message Queue

Integration

A message queue is the buffer an engine writes outbound messages to when a destination cannot accept them immediately. Queuing keeps the source system from blocking and preserves order for feeds that require it, at the cost of delay that is invisible until someone checks queue depth. Rising queue depth is the earliest reliable signal that a downstream system is down.

See also Retry and RedeliveryDestination ConnectorThroughputDashboard Statistics

Full explanation

Message Store

Integration

Also: Message repository

A message store is the engine's database of processed messages, holding the raw inbound content, the transformed output, and the status of every destination attempt. It is what makes reprocessing and root-cause analysis possible, and it is also the largest PHI repository most integration teams forget they operate. Storage settings and pruning schedules are a compliance decision, not just a disk one.

See also ChannelPHIAudit LogRetry and Redelivery

Full explanation

Message Type

HL7 v2

Also: MSH-9

Message type is the HL7 v2 header field (MSH-9) that tells a receiver how to interpret everything that follows. It carries three components: the message code (ADT, ORU, SIU), the trigger event (A01, R01, S12), and optionally the message structure. Integration engines route on this field, so a wrong value lands the message on the wrong channel.

MSH-9 with all three components
ADT^A01^ADT_A01

See also Trigger EventMSH SegmentRouterChannel

Full explanation

Middleware

Integration

Middleware is software that sits between applications and moves data between them without either application knowing about the other. A healthcare integration engine is middleware specialized for clinical data: it speaks MLLP, HL7 v2, FHIR, X12, and DICOM natively and enforces the acknowledgment, audit, and retry semantics those standards expect, which general-purpose API gateways do not.

See also Interface EngineESBHub-and-Spoke

Full explanation

Minimum Necessary

Security

The minimum necessary standard requires covered entities to limit PHI use, disclosure, and requests to the smallest amount needed for the purpose at hand. In integration work it decides which segments survive a filter, which fields an API response returns, and how role permissions are scoped. Disclosures for treatment are the best-known of its several exemptions.

Scoped API response
GET /Patient/123?_elements=id,birthDate,gender
(no name, no address, no contact details)

See also HIPAA Privacy RuleRBACPHIMessage Filter

Full explanation

Mirth Connect

MirthSync

Also: Mirth

Mirth® Connect is a healthcare interface engine that routes and transforms clinical messages between systems using JavaScript-based channels, and the codebase every Mirth-lineage fork descends from. Releases through 4.5.2 were open source; NextGen Healthcare made 4.6 and later commercial-only, so open-source work moved to community forks. Channels, code templates, and transformer scripts stay portable across all of them without rewriting.

See also Interface EngineOpen Integration EngineChannelMirthSync

Full explanation

MirthSync

MirthSync

Also: MirthSync CLI

MirthSync is an open-source CLI and admin console plugin that serializes a Mirth® Connect or Open Integration Engine server's configuration into files a Git repository can track. It pulls channels, code templates, global scripts, channel groups, resources, and alerts over the REST API, then pushes reviewed changes to another server. The configuration map is excluded unless you ask for it.

MirthSync bridging a Mirth Connect server and a Git repository PULL EXPORTS A SERVER TO FILES - PUSH UPLOADS THEM BACK the repo sits between them Dev server mirth-dev:8443 DEPLOYED CHANNELS ADT_Inbound deployed Lab_Results deployed ORU_Outbound stopped Working tree - disk mode code mirth-config/Channels/Default Group/ADT_Inbound/channel.xmlsourceConnector.jstransformer.jsCodeTemplates/Utilities/library.xmlGlobalScripts/Resources/ Prod server mirth-prod:8443 DEPLOYED CHANNELS ADT_Inbound deployed Lab_Results deployed ORU_Outbound deployed pull REST API over 8443 push saves, then deploy-all pull drift check GIT - branch, review and merge like any other code XML and JS on disk, so the diff is readable feature/adt-retry-backoff 41ee5d2 merge a3f19c4 v1.4.0 EMBEDDED GIT SUBCOMMANDS init status add commit diff log branch checkout remote pull push reset both read the password from MIRTHSYNC_PASSWORD PULL ./mirthsync.sh -s https://mirth-dev:8443/api -u admin -t ./mirth-config pull PUSH ./mirthsync.sh -s https://mirth-prod:8443/api -u admin -t ./mirth-config --deploy-all push Embedded git covers the twelve subcommands above. It switches branches but cannot create them; reset needs a full hash. The configuration map stays out of pull and push unless --include-configuration-map is passed.
MirthSync bridging a Mirth Connect server and a Git repository
Pull, then commit
./mirthsync.sh -s https://server:8443/api -u admin -t ./mirth-config pull
./mirthsync.sh -t ./mirth-config --commit-message "ADT retry backoff" git commit

See also Mirth ConnectEnvironment PromotionChannel Export XMLDisk Mode

Full explanation

MLLP

HL7 v2

Also: Minimum Lower Layer Protocol, Minimal Lower Layer Protocol

MLLP (Minimum Lower Layer Protocol) is the TCP framing that marks where one HL7 v2 message ends and the next begins on a persistent socket. Each message is wrapped in a start block (0x0B) and an end block (0x1C 0x0D). MLLP provides no authentication and no encryption of its own, so production interfaces carry it inside TLS.

MLLP frame anatomy around an HL7 v2 message ONE MLLP FRAME ON THE TCP STREAM VT 0x0B MSH|^~\&|EPIC|HOSP|MIRTH|SAGA|20260726120000||ADT^A01|MSG00001|P|2.5.1<CR> EVN|A01|20260726120000<CR> PID|1||4471102^^^HOSP^MR||DOE^JANE^M||19540312|F<CR> FS 0x1C CR 0x0D START BLOCK 0x0B (VT) Marks the beginning of exactly one message. MESSAGE BODY ER7 pipe-and-hat text Segments end with CR (0x0D), not CR LF. END BLOCK 0x1C 0x0D (FS CR) No length prefix: the reader frames on bytes. THE ACK COMES BACK IN ITS OWN FRAME VT MSH|^~\&|MIRTH|SAGA|EPIC|HOSP|20260726120001||ACK^A01|A00042|P|2.5.1<CR> MSA|AA|MSG00001<CR> FS CR MLLP is only a framing wrapper. Delivery semantics live in the MSA segment of the ACK, not in the frame. Ports are conventional rather than assigned, so they belong in the interface specification.
MLLP frame anatomy around an HL7 v2 message
One frame on the wire
0x0B  [ HL7 v2 message ]  0x1C 0x0D

See also ACKPortFirewall AllowlistEncryption in Transit

Full explanation

Modality

Imaging ops

Modality is the DICOM code identifying what kind of equipment produced a series of images: two-letter values like CT, MR, US, XA, MG, DX and PT, plus longer ones like RTSTRUCT and SEG. It lives in tag (0008,0060) at the series level, so a PET/CT study carries both PT and CT series under one Study Instance UID. Study-level filtering uses Modalities in Study instead.

Series level vs study level
(0008,0060) Modality           CS  CT
(0008,0061) ModalitiesInStudy  CS  CT\PT

See also DICOM TagModality WorklistSOP ClassPACS

Full explanation

Modality Worklist

Imaging ops

Also: MWL, Modality Worklist Management

Modality Worklist is the DICOM service a scanner uses to pull its scheduled exams from the RIS or PACS instead of having the technologist type patient details by hand. It is C-FIND against SOP Class 1.2.840.10008.5.1.4.31, and the returned Scheduled Procedure Step carries the patient ID and accession number that later bind the images to the order.

Modality worklist query and performed procedure step CT modality MWL SCU CT01 gantry + table RIS MWL SCP RIS_MWL the day schedule C-FIND-RQ - Modality Worklist ScheduledStationAETitle = CT01 Modality = CT SPS StartDate = 20260726 one response per matching scheduled procedure step C-FIND-RSP - Pending 0xFF00 PatientName = DOE^JANE^M PatientID = 4471102 AccessionNumber = 20260726-0042 StudyInstanceUID = 1.2.826.0.1... MPPS - THE MODALITY REPORTS WHERE THE STEP STANDS N-CREATE status IN PROGRESS start time, patient, SPS reference acquisition series written locally protocol, dose, series UIDs N-SET status COMPLETED performed series and instance UIDs C-STORE instances to the PACS The worklist entry is what makes the acquired instances carry the right patient ID and accession number.
Modality worklist query and performed procedure step
MWL query keys
SOP Class 1.2.840.10008.5.1.4.31
(0040,0100) ScheduledProcedureStepSequence
  (0008,0060) Modality     CT
  (0040,0002) StartDate    20260726
  (0040,0001) ScheduledAE  CT_SCANNER_1

See also C-FINDMPPSAccession NumberRIS

Full explanation

Module

DICOM

Also: DICOM module

A DICOM module is a named, reusable group of attributes that CIODs include as a unit: Patient, General Study, General Series, Image Pixel, and roughly 400 more. Each module carries a usage flag (M, C, or U) within the CIOD that references it, which is what tells you whether an attribute is genuinely required for a given object type.

See also CIODMacroData Element

Full explanation

MPPS

Imaging ops

Also: Modality Performed Procedure Step

MPPS is the DICOM service a modality uses to tell the RIS that a procedure has started, been discontinued, or completed, sent as N-CREATE followed by N-SET. In many radiology shops it is also the billing trigger, so an MPPS outage shows up as claims that quietly stop dropping rather than as an imaging failure.

See also Modality WorklistStorage CommitmentOrder-to-Report LifecycleRIS

Full explanation

MSH Segment

HL7 v2

Also: Message Header segment, MSH

The MSH segment is the mandatory message header that opens every HL7 v2 message, declaring the delimiters, the sending and receiving application and facility, the message type, a unique control ID, and the version. MSH-11 carries the processing ID: production systems should reject anything that does not say P.

An MSH segment with each field position called out ONE MSH SEGMENT, FIELD BY FIELD HL7 v2.5.1 - ADT^A01 admit notification MSH|^~\&|EPIC|MAIN_HOSP|LAB_SYS|PATHOLOGY|202603011430||ADT^A01^ADT_A01|MSG00001|P|2.5.1|||AL|NE MSH MSH-1 | Field Separator the pipe itself MSH-2 ^~\& Encoding Characters MSH-3 EPIC Sending Application MSH-4 MAIN_HOSP Sending Facility MSH-5 LAB_SYS Receiving Application MSH-6 PATHOLOGY Receiving Facility | | | | | MSH-7 202603011430 Date/Time of Message MSH-8 empty Security MSH-9 ADT^A01^ADT_A01 Message Type code ^ event ^ structure MSH-10 MSG00001 Message Control ID echoed in MSA-2 MSH-11 P Processing ID MSH-12 2.5.1 Version ID | | | | | WHY THE FIELD NUMBERS LOOK OFF BY ONE MSH-1 is not a value between two delimiters. Its value IS the delimiter itself. So the first thing that looks like data, the encoding characters, is already MSH-2. Every field after it sits one place to the right of where a naive split on the pipe would put it. THE SAME SLOT, A DIFFERENT NUMBER MSH| ^~\& is MSH-2, because MSH-1 was the | itself PID| 1 is PID-1, as expected MSH-13 and MSH-14 are empty here. MSH-15 = AL asks for an accept ACK; MSH-16 = NE declines an application ACK.
An MSH segment with each field position called out
MSH header
MSH|^~\&|EPIC|MAIN_HOSP|LAB_SYS|PATHOLOGY|202603011400||ADT^A01|MSG00001|P|2.5.1

See also Encoding CharactersMessage TypeHL7 v2 VersionsACK

Full explanation

Multi-frame

DICOM

Also: Enhanced multi-frame, (0028,0008)

A multi-frame object packs many images into a single SOP Instance, with Number of Frames (0028,0008) counting them and, in the Enhanced families, per-frame metadata carried in functional group sequences. Ultrasound cine loops, XA runs, and Enhanced CT and MR objects all use it. Tools written for one slice per file break here, because a whole series arrives as one instance.

See also Pixel DataSOP InstanceSeries Instance UID

N

NDJSON

FHIR

Also: newline-delimited JSON, JSON Lines

NDJSON (newline-delimited JSON) is a format where each line is one complete JSON object, making a file streamable and appendable without holding the whole document in memory. FHIR Bulk Data Export emits one or more NDJSON files per resource type. The gotcha is that an NDJSON file is not valid JSON: parsers that expect a single top-level array will choke on it.

Patient.ndjson
{"resourceType":"Patient","id":"a1","birthDate":"1980-01-15"}
{"resourceType":"Patient","id":"a2","birthDate":"1974-06-02"}

See also Bulk Data ExportFHIR Resource

Full explanation

NIST SP 800-66

Security

Also: NIST SP 800-66 Rev. 2, SP 800-66

NIST SP 800-66 is the federal implementation guide that translates each HIPAA Security Rule standard into concrete security activities a team can actually execute. Revision 2, published in 2024, recast it as a risk-management resource cross-mapped to the NIST Cybersecurity Framework and SP 800-53 controls. It carries no legal force, but OCR points to it as the implementation reference.

See also HIPAA Security RuleSecurity Risk AnalysisISO 27001

Full explanation

NK1 Segment

HL7 v2

Also: Next of Kin segment, NK1

The NK1 segment holds a person associated with the patient: an emergency contact, next of kin, guardian, or billing party. It repeats, one segment per person, and appears mostly in ADT messages. NK1-3 states the relationship (spouse, parent) while NK1-7 states the functional role, so the same person can appear twice.

See also PID SegmentADT FeedPHI

Full explanation

O

OAuth Scopes

FHIR

Also: SMART scopes, FHIR scopes

SMART OAuth scopes are the strings an app requests to bound what a FHIR access token can reach, shaped as context/resource.permission. patient/Observation.read reads observations for one patient, user/*.read follows the logged-in clinician's own permissions, and system/*.read grants headless backend access. SMART v2 replaces the .read suffix with granular .cruds letters. Over-requesting scopes is the fastest way to fail an EHR vendor's app review.

Standalone launch authorization request
scope=launch/patient patient/*.read openid fhirUser offline_access
response_type=code
code_challenge_method=S256

See also SMART on FHIRBulk Data ExportRBAC

Full explanation

OBR Segment

HL7 v2

Also: Observation Request segment, OBR

The OBR segment defines what was ordered and where that order stands, acting as the header for a group of related results. It carries the placer order number from the ordering system, the filler order number assigned by the lab or radiology system, the test code, and the specimen collection time.

See also OBX SegmentORC SegmentORU MessageAccession Number

Full explanation

OBX Segment

HL7 v2

Also: Observation Result segment, OBX

The OBX segment carries a single observation value in an HL7 v2 message: one lab number, one vital sign, one radiology impression, or one embedded PDF. OBX-2 names the data type so the receiver knows how to parse OBX-5. OBX-11 gives the result status, and a C means correct a previously final result.

Numeric result with reference range
OBX|1|NM|2345-7^Glucose^LN||98|mg/dL|70-100|N|||F

See also OBR SegmentORU MessageComponent

Full explanation

Open Integration Engine

MirthSync

Also: OIE

Open Integration Engine (OIE) is the community-governed, MPL 2.0 open-source fork of Mirth® Connect, started after NextGen Healthcare ended open-source releases at 4.5.2. It runs existing channels, code templates, and custom Java libraries without modification, so moving to it is a re-platform rather than a rewrite. A non-profit steering committee and a multi-vendor maintainer group govern it.

See also Mirth ConnectInterface EngineMirthSyncChannel

Full explanation

ORC Segment

HL7 v2

Also: Common Order segment, ORC

The ORC segment carries the order control information shared across every kind of order: lab, radiology, and pharmacy. ORC-1 is the control code that drives the lifecycle, NW for a new order, CA to request cancellation, RE for results. ORC-5 reports the order status separately, and the two are easy to confuse.

See also OBR SegmentORM MessageOrder-to-Report Lifecycle

Full explanation

Order-to-Report Lifecycle

Imaging ops

The order-to-report lifecycle is the full path a radiology exam takes: order placed in the EHR, worklist entry created for the modality, images acquired and stored, study read, report signed, result returned to the chart. Each hop is a different protocol, so a break shows up as a missing worklist entry, an orphaned study, or a report that never reaches the ordering provider.

The imaging order lifecycle from EHR order to signed report DICOM HL7 v2 seven hops, one accession number STAGE MESSAGE ON THE WIRE IDENTIFIER OR STATUS 1 Order placed EHR CPOE to RIS ORM^O01 HL7 v2 - OMG^O19 in v2.4+ ORC-1 = NW, OBR-4 procedure PLACER ORDER NUMBER ORD887421^EPIC 2 Scheduled RIS to PACS ORM^O01 HL7 v2 - procedure scheduled accession number issued ACCESSION NUMBER 20260726-0042 3 On the worklist modality to RIS C-FIND-RQ DICOM modality worklist match on AE title and date MWL FIND SOP CLASS 1.2.840.10008.5.1.4.31 4 Exam acquired modality to RIS N-CREATE, N-SET DICOM MPPS to the RIS the radiology billing trigger PROCEDURE STEP STATUS IN PROGRESS - COMPLETED 5 Images archived modality to PACS C-STORE-RQ DICOM storage, 412 instances storage commitment confirms STUDY INSTANCE UID 1.2.826.0.1.3680043.8.7... 6 Study read workstation to PACS C-FIND, C-MOVE DICOM Q/R plus WADO-RS priors pulled by patient ID STUDY ROOT FIND SOP CLASS 1.2.840.10008.5.1.4.1.2.2.1 7 Report filed RIS to EHR ORU^R01 HL7 v2 back to the EHR impression in OBX, type TX RESULT STATUS OBR-25 = F, OBX-11 = F ONE EXAM, THREE KEYS each from a different system ORD887421^EPIC placer order number 20260726-0042 accession number 1.2.826.0.1.3680043.8.7... StudyInstanceUID
The imaging order lifecycle from EHR order to signed report

See also Modality WorklistMPPSORM MessageORU Message

Full explanation

ORM Message

HL7 v2

Also: Order Message, ORM^O01

An ORM message transmits a clinical order from a provider order entry system to the department that will fill it: lab, radiology, or pharmacy. ORM^O01 is the workhorse trigger event, pairing an ORC segment for order control with an OBR segment describing the test. Later v2 releases deprecate ORM in favor of OML, though it remains widespread.

See also ORC SegmentOBR SegmentORU MessageOrder-to-Report Lifecycle

Full explanation

ORU Message

HL7 v2

Also: Observation Result Unsolicited, ORU^R01

An ORU message delivers observation results from a lab, radiology, or pathology system to the ordering provider's EHR. Unsolicited means the sender pushes results on its own schedule rather than answering a query. Each OBR segment groups the OBX segments carrying individual values, and a corrected result arrives as a new ORU with status C.

The segment hierarchy of an ORU lab result message ORU^R01 - MSH, PID, THEN ONE OBR GROUP PER ORDER HL7 v2.5.1 SEGMENT TREE PATIENT group collapsed MSH 1..1 PATIENT_RESULT 1..* PID 1..1 [PD1] [NTE] [NK1] 0..* PV1 0..1 ORDER_OBSERVATION 1..* [ORC] 0..1 OBR 1..1 [NTE] 0..* OBSERVATION 0..* OBX 1..1 [NTE] 0..* [SPM] 0..* TWO ORDERS IN ONE MESSAGE PATIENT_RESULT repeats per patient PID 4471102 DOE^JANE^M PV1 I 3W^312^A ORDER_OBSERVATION [1] OBR-4 = 24323-8^CMP^LN OBSERVATION repeats, one OBX per analyte GLU CREA BUN NA K CL CO2 ORDER_OBSERVATION [2] CBC, a second order with its own OBR WBC HGB PLT same PID, different filler order ONE OBX, FIELD BY FIELD the potassium result from the panel above OBX|5|NM|2823-3^Potassium^LN||5.8|mEq/L|3.5-5.0|H|||F|||20260726143000 NTE|1|L|Specimen hemolyzed; potassium may read high. an NTE after an OBX comments on that result seg OBX 1 5 2 NM 3 2823-3^Potassium^LN 4 5 5.8 6 mEq/L 7 3.5-5.0 8 H 9 10 11 F 12 13 14 20260726143000 5 observation value · 6 units · 7 reference range · 8 abnormal flags · 11 result status · 14 observed at H is above high normal. L, LL, HH and AA are the other flags a receiver has to act on. OBX-11 is the status of one value; OBR-25 is the status of the whole order. They differ while a panel is partly resulted.
The segment hierarchy of an ORU lab result message

See also OBX SegmentOBR SegmentORM MessageRIS

Full explanation

P

PACS

Imaging ops

Also: Picture Archiving and Communication System

A PACS is the imaging department's archive and distribution platform: it receives studies from modalities over DICOM, indexes them by patient and study, and serves them to reading workstations and web viewers. Four pieces do the work: an acquisition gateway, the archive itself, reading workstations, and a web distribution tier.

Order flow between RIS, modality and PACS EHR / CPOE clinician orders the study ORM^O01 RIS schedules, assigns accession ACC 20260726-0042 Modality queries worklist, acquires CT - 412 instances PACS stores and archives the study STUDY 1.2.826.0.1... Reading worklist + hanging protocol PR / KOS / SR Report signed result back to the EHR ORU^R01 ORM order MWL C-FIND DICOM C-STORE Q/R + WADO dictate, sign HL7 v2 ORU result DICOM HL7 v2 step inside one system The accession number the RIS issues is the key that ties order, images and report together.
Order flow between RIS, modality and PACS

See also VNARISModalityC-STORE

Full explanation

Part 10 File

DICOM

Also: DICOM file, .dcm file, PS3.10 file

A Part 10 file is DICOM stored on disk: a 128-byte preamble, the DICM marker, File Meta Information, then the data set. The same data elements travel over the network without that wrapper, which is why a byte stream captured from an association will not open as a .dcm file until you prepend a valid header.

DICOM Part 10 file layout: preamble, file meta, data set OFFSET 0x0000 128-byte preamble Usually all zeroes. Nothing in it is a DICOM data element. 0x0080 DICM 44 49 43 4D 4-byte prefix - the actual file signature 0x0084 File Meta Information - group (0002,xxxx) (0002,0000) FileMetaInformationGroupLength UL 198 (0002,0002) MediaStorageSOPClassUID UI 1.2.840.10008.5.1.4.1.1.2 (0002,0003) MediaStorageSOPInstanceUID UI 1.2.826.0.1.36... (0002,0010) TransferSyntaxUID UI 1.2.840.10008.1.2.1 0x014A Data set - every other element, in ascending tag order (0008,0016) SOPClassUID UI 1.2.840.10008.5.1.4.1.1.2 (0008,0060) Modality CS CT (0010,0010) PatientName PN DOE^JANE^M (0020,000D) StudyInstanceUID UI 1.2.826.0.1.36... (0028,0010) Rows / (0028,0011) Columns US 512 / 512 varies (7FE0,0010) PixelData OW - native bytes, or fragments when encapsulated 132 bytes before the first element always Explicit VR Little Endian whatever the data set uses encoding is whatever (0002,0010) named above
DICOM Part 10 file layout: preamble, file meta, data set
File layout
offset 0    128 bytes   preamble (usually zeros)
offset 128    4 bytes   "DICM"
offset 132   variable   File Meta Information, group 0002
after FMI    variable   data set, encoded per (0002,0010)

See also PreambleFile Meta InformationData SetTransfer Syntax

Full explanation

Patient / Study / Series / Instance

DICOM

Also: DICOM information model, Query/Retrieve levels

Patient, study, series, instance is DICOM's four-level information model, and nearly every query, retrieve, and storage path follows it. A patient has studies, a study has series, a series has SOP Instances. Q/R levels, DICOMweb URL paths, and PACS folder layouts all mirror it, so a level mismatch between query and retrieve returns nothing.

Patient, study, series and instance: the four-level DICOM data model 1 · PATIENT (0010,0010) DOE^JANE^M (0010,0020) 4471102 identified by ID + issuer, not by a UID 2 · STUDY (0020,000D) 1.2.826.0.1.3680043.8.498.61 accession ties the study to the order (0008,0020) 20260726 (0008,0050) 20260726-0042 (0008,0061) CT\PT (0020,1206) 2 (0020,1208) 701 3 · SERIES CT (0020,000E) 1.2.826.0.1.3680043.8.498.61.2 (0008,0060) CT (0020,0011) 2 (0020,1209) 412 (0008,103E) CT AC 3.0 mm SOP INSTANCES one series - many instances 1 2 3 4 5 ··· 412 4 · INSTANCE (0020,0013) 1 (0008,0018) 1.2.826.0.1.3680043.8.498.61.2.1 (0008,0016) 1.2.840.10008.5.1.4.1.1.2 3 · SERIES PT (0020,000E) 1.2.826.0.1.3680043.8.498.61.3 (0008,0060) PT (0020,0011) 3 (0020,1209) 289 (0008,103E) PET WB AC SOP INSTANCES one series - many instances 1 2 3 4 5 ··· 289 4 · INSTANCE (0020,0013) 1 (0008,0018) 1.2.826.0.1.3680043.8.498.61.3.1 (0008,0016) 1.2.840.10008.5.1.4.1.1.128 Study 2 (0020,000D) 1.2.826.0.1.3680043.8.498.62 (0008,0020) 20250114 prior CT CHEST - its own UID Patient Study Series Instance 1 : n 1 : n 1 : n Study, Series and SOP Instance UIDs are globally unique and never reused.
Patient, study, series and instance: the four-level DICOM data model

See also Study Instance UIDSeries Instance UIDC-FINDQIDO-RS

Patient ID Merge

Imaging ops

Also: MRN merge, Patient merge

A patient ID merge is the operation that collapses two medical record numbers found to belong to the same person, propagating the surviving identifier through every downstream system. In imaging it is expensive: the PACS, VNA, and any cached prior have to be updated, and an HL7 ADT A40 merge message that the imaging stack ignores leaves priors stranded under the retired ID.

ADT merge trigger
MSH|^~\&|ADT|HOSP|...|ADT^A40^ADT_A39|...
PID|1||900445566^^^HOSP^MR    surviving MRN
MRG|900112233^^^HOSP^MR       retired MRN

See also ADT FeedPID SegmentStudy ReconciliationEnterprise Imaging

Full explanation

PHI

Security

Also: Protected Health Information

Protected health information is any individually identifiable health data that a covered entity or business associate creates, receives, maintains, or transmits, in any medium: electronic, paper, or spoken. The identifier matters as much as the diagnosis: a name attached to an appointment date is PHI. The Privacy Rule governs how it may be used and disclosed.

Protected health information and the Safe Harbor identifier categories AN IDENTIFIER IS WHAT MAKES CLINICAL DATA PHI de-identification is subtraction, not encryption ONE RECORD shaded rows are identifiers Name DOE^JANE^M 1 Birth date 1954-03-12 3 Sex F - MRN 4471102 8 Account no. A0092841 10 Address 118 Palm Ave, 33401 2 Phone 561-555-0142 4 Email j.doe@example.org 6 Device serial PUMP-8841-QX 13 Face photo IMG_0442.jpg 17 IP address 10.20.4.118 15 Diagnosis E11.9 type 2 diabetes - Lab result 4548-4 HbA1c 8.2 % - Medication metformin 1000 mg BID - SAFE HARBOR - 45 CFR 164.514(b)(2) 18 identifier categories 1 Names 2 Geography under a state 3 Dates finer than year 4 Telephone numbers 5 Fax numbers 6 Email addresses 7 Social Security numbers 8 Medical record numbers 9 Health plan beneficiary no. 10 Account numbers 11 Certificate / license no. 12 Vehicle identifiers, plates 13 Device identifiers, serial 14 Web URLs 15 IP addresses 16 Biometric identifiers 17 Full-face photographs 18 Any other unique code WHAT IS LEFT AFTER SAFE HARBOR no longer PHI, so the Privacy Rule no longer restricts it year 1954 sex F ZIP 334 E11.9 type 2 diabetes 4548-4 HbA1c 8.2 % metformin 1000 mg BID Ages over 89 collapse to a single 90-or-above category. The first three ZIP digits survive only above 20,000 people. Safe Harbor also requires no actual knowledge that what remains could still identify someone.
Protected health information and the Safe Harbor identifier categories

See also ePHIHIPAA Privacy RuleDe-identificationMinimum Necessary

Full explanation

Photometric Interpretation

DICOM

Also: (0028,0004), MONOCHROME2

Photometric Interpretation (0028,0004) declares how pixel values map to what you see: MONOCHROME2 means higher values are brighter, MONOCHROME1 means the opposite, and RGB, YBR_FULL_422, and PALETTE COLOR describe color layouts. Get it wrong and a chest X-ray renders as a photographic negative, the classic symptom of a viewer ignoring this attribute.

See also Pixel DataWindow Center / WidthRescale Slope / Intercept

PID Segment

HL7 v2

Also: Patient Identification segment, PID

The PID segment carries patient identity and demographics in an HL7 v2 message: identifiers, name, birth date, sex, and address. PID-3 is the field that matters most, a repeating list of every identifier with its assigning authority and type. Matching on a bare MRN without checking the assigning authority is how records get merged wrongly.

See also RepetitionPV1 SegmentPatient ID MergeADT Feed

Full explanation

Pixel Data

DICOM

Also: (7FE0,0010)

Pixel Data (7FE0,0010) is the attribute holding the actual image samples, normally the largest element in the file by orders of magnitude. Its VR is OB or OW depending on the transfer syntax, and compressed syntaxes encapsulate each frame in one or more fragments. Rows, Columns, Bits Allocated, and Samples per Pixel tell a reader how to unpack it.

See also Transfer SyntaxPhotometric InterpretationMulti-frame

Point-to-Point

Integration

Also: P2P integration

Point-to-point integration wires each pair of systems together directly, with no shared hub in between. Every connection carries its own transformation and error handling, so N systems can require up to N×(N-1)/2 interfaces. It is fast to stand up for the first two or three systems and increasingly expensive to change after that.

See also Hub-and-SpokeInterface SpaghettiInterface Engine

Full explanation

Port

Integration

A port is the number that identifies which service on a host a TCP connection is addressed to. Healthcare conventions are loose but recognizable: HL7 v2 over MLLP commonly runs on 2575 or 6661, FHIR and other REST APIs on 443, DICOM on 104 or 11112, SQL Server on 1433, PostgreSQL on 5432, and SMB file drops on 445.

See also EndpointFirewall AllowlistMLLPTopology Diagram

Full explanation

Preamble

DICOM

Also: DICM magic, 128-byte preamble

The DICOM preamble is the first 128 bytes of a Part 10 file, followed immediately by the four ASCII characters DICM at offset 128. The preamble is application-defined and usually all zeros; some tools stuff a small image header there so the file also opens in a picture viewer. Missing DICM means you are holding a bare data set, not a Part 10 file.

See also Part 10 FileFile Meta InformationData Set

Full explanation

Prefetch

Imaging ops

Prefetch is the scheduled retrieval of a patient's relevant prior studies into fast cache before the radiologist opens the current exam. Rules key off the worklist, body part, and modality. Tune them badly and radiologists wait on cold-storage retrievals mid-read, or the cache fills with priors nobody ever opens.

See also Archive TieringRadiologist WorklistC-MOVEPACS

Full explanation

Presentation Context

DICOM

A presentation context is the pairing of one SOP Class with one or more transfer syntaxes, proposed by the SCU during association negotiation. The SCP accepts or rejects each one and may accept only a single transfer syntax per context. Two devices that both speak DICOM still fail to talk when their proposed contexts do not overlap.

Proposed and accepted
PC 1  CT Image Storage
      offered : Explicit VR LE, JPEG 2000 Lossless
      accepted: Explicit VR LE
PC 3  MR Image Storage        rejected (abstract syntax not supported)

See also AssociationTransfer SyntaxSOP Class

Full explanation

Presentation State

DICOM

Also: GSPS, Grayscale Softcopy Presentation State

A Presentation State is a DICOM object that records how images should be displayed without altering the pixels: window level, zoom, pan, flips, shutters, annotations, and overlays. Grayscale Softcopy Presentation State (GSPS) is the common flavor. It lets a radiologist's exact view travel with the study so a downstream viewer reproduces what they saw.

See also Window Center / WidthSOP ClassHanging Protocol

Pseudonymization

Security

Pseudonymization replaces direct identifiers with a consistent surrogate key so records can still be linked across systems without exposing the real identity. It is not de-identification: to anyone who can reach the link table the data is still PHI under HIPAA, and it stays personal data under GDPR regardless. Useful for research cohorts that need longitudinal joins and a controlled path back.

Surrogate key vs. removal
MRN 4417392 -> SUBJ-0198   (pseudonymized, link table access-controlled)
MRN 4417392 -> removed      (Safe Harbor de-identification)

See also De-identificationExpert DeterminationPHI

Full explanation

PV1 Segment

HL7 v2

Also: Patient Visit segment, PV1

The PV1 segment describes the patient's encounter in an HL7 v2 message: patient class, assigned location, attending and referring physicians, and admit or discharge details. PV1-19 is the visit number, which is not the same thing as the account number in PID-18. One stay can produce several accounts.

See also PID SegmentADT FeedEVN Segment

Full explanation

Q

QIDO-RS

DICOM

Also: Query based on ID for DICOM Objects

QIDO-RS is the DICOMweb search service: an HTTP GET with DICOM attributes as query parameters returning DICOM JSON. It maps to C-FIND, but every server supports its own subset of searchable attributes and matching rules, so probe an endpoint before assuming a filter works. Unsupported attributes usually come back as a 400 or an empty result.

Study search
GET /studies?PatientID=12345&ModalitiesInStudy=CT&StudyDate=20260101-20260131
Accept: application/dicom+json

See also DICOMwebWADO-RSC-FINDDICOM Tag

R

Radiologist Worklist

Imaging ops

Also: Reading worklist

A radiologist worklist is the prioritized queue of studies awaiting interpretation, driven by the RIS or PACS and filtered by subspecialty, priority, and location. Stat exams and AI-flagged critical findings jump the queue, and turnaround time is measured from list entry to signed report. It is not Modality Worklist, which serves scanners rather than readers.

See also Modality WorklistHanging ProtocolPrefetchRIS

Full explanation

RBAC

Security

Also: Role-Based Access Control

Role-based access control grants permissions to roles rather than to individuals, so a nurse, a billing clerk, and a radiologist see different slices of the same record. It is how the minimum necessary standard becomes enforceable in software. The failure mode is role sprawl: dozens of near-identical roles nobody reviews, quietly accumulating permissions after every staffing change.

Role to permission
role=front_desk   -> demographics, scheduling
role=rn           -> + vitals, notes, orders
role=radiologist  -> + imaging studies, reports

See also Minimum NecessaryAudit LogOAuth ScopesHIPAA Security Rule

Full explanation

Repetition

HL7 v2

Also: Field repetition, Repeating field

An HL7 repetition is one occurrence of a field that may legally appear more than once, with occurrences joined by the tilde character. PID-3 repeats to carry an MRN, an enterprise identifier, and an account number in a single field. Interfaces that read only the first repetition silently lose the rest.

PID-3 with three repetitions
PID|1||MRN12345^^^EPIC^MR~E9900123^^^EMPI^PI~ACC7788^^^EPIC^AN

See also FieldEncoding CharactersPID SegmentPatient ID Merge

Full explanation

Rescale Slope / Intercept

DICOM

Also: (0028,1053), (0028,1052), Hounsfield conversion

Rescale Slope (0028,1053) and Rescale Intercept (0028,1052) convert stored pixel values into meaningful units: output = slope × stored + intercept. On CT this is what produces Hounsfield Units, typically slope 1 and intercept -1024. Any measurement or AI pipeline that reads raw pixels without applying them reports numbers wrong by a constant offset.

CT stored value to HU
RescaleSlope     = 1
RescaleIntercept = -1024
stored 1024  ->  1 * 1024 + (-1024)  =  0 HU  (water)

See also Pixel DataWindow Center / WidthPhotometric Interpretation

Resource Library

MirthSync

Also: Library Resource, Directory Resource

A resource library is a server-level directory of JAR files that Mirth® Connect adds to the classpath, letting channels call custom Java code such as a JDBC driver or a parsing library. Each connector selects which resources it loads. The JARs live on the server filesystem, so a channel promoted to a host missing them deploys cleanly and then fails at runtime.

See also Environment PromotionChannelMirthSyncCode Template

Full explanation

Retired Attribute

DICOM

Also: RET, Retired tag

A retired attribute is a tag the DICOM standard no longer defines for new objects but keeps reserved so its number is never reused. Older devices still emit them, so parsers must tolerate rather than reject them. The data dictionary flags them RET: nearly 400 of the roughly 5,200 entries in PS3.6 carry that marker.

See also DICOM TagData ElementConformance Statement

Full explanation

Retry and Redelivery

Integration

Retry and redelivery are the engine behaviors that re-send a message after a delivery attempt fails, usually on a fixed interval with a cap on attempts. The risk is duplicates: a destination that received a message but never returned an ACK will get it again, so downstream systems need idempotent handling keyed on message control ID.

Queue retry log
attempt 1  22:14:03  ERROR  connection refused
attempt 2  22:14:33  ERROR  connection refused
attempt 3  22:15:03  SENT   ACK AA

See also Message QueueACKDestination Connector

Full explanation

RIS

Imaging ops

Also: Radiology Information System

A RIS is the radiology department's operational system of record: it schedules exams, assigns accession numbers, tracks exam status, and holds the report until it is signed. The PACS owns pixels, the RIS owns workflow, and HL7 v2 order and result messages are what keep the two in agreement.

See also PACSAccession NumberORM MessageORU Message

Full explanation

Router

Integration

A router is the logic that sends a message to one or more destinations based on its content rather than a fixed wire. A typical rule reads the message type and sending facility, then fans an ADT out to registration, billing, and the imaging archive while sending lab results only to the EHR. Content-based routing is the reason a hub scales.

Content-based routing
ADT^A01  ->  registration, billing, PACS
ORU^R01  ->  EHR only
DFT^P03  ->  billing only

See also Message FilterChannelHub-and-SpokeMessage Type

Full explanation

S

Safe Harbor

Security

Safe Harbor is the HIPAA de-identification method that removes 18 specified categories of identifiers, including names, geographic subdivisions smaller than a state, all date elements finer than year, contact details, and any other unique identifying code. It also requires no actual knowledge that what remains could still identify someone. Mechanical and auditable, it costs analytic value: full dates and ZIP codes are the first casualties.

Sample of the 18 identifier categories
names · geography finer than state · dates finer than year
phone / fax / email · SSN · MRN · account numbers
device serial numbers · full-face photos · biometrics

See also De-identificationExpert DeterminationPHI

Full explanation

SCP

DICOM

Also: Service Class Provider

An SCP (Service Class Provider) is the DICOM role that listens and answers. A PACS acting as Storage SCP accepts C-STORE requests; the same PACS acts as Query/Retrieve SCP when a workstation searches it. Conformance statements list SCU and SCP roles per SOP Class, and the two sides must be complementary or the association fails.

See also SCUConformance StatementC-STORE

Full explanation

SCU

DICOM

Also: Service Class User

An SCU (Service Class User) is the DICOM role that initiates a request. The modality pushing images is the Storage SCU; the workstation querying an archive is the Query/Retrieve SCU. Roles are assigned per SOP Class and per association, so one device is routinely SCU for some services and SCP for others.

See also SCPSOP ClassAssociation

Full explanation

Security Risk Analysis

Security

Also: SRA, Security Risk Assessment

A security risk analysis is the accurate, thorough assessment of risks to the confidentiality, integrity, and availability of ePHI required by §164.308(a)(1)(ii)(A). It inventories every system touching ePHI, rates threat likelihood and impact, and records what mitigates each finding. It belongs to the regulated entity, covered entity and business associate alike, and it is the most frequently cited deficiency in OCR enforcement actions.

See also HIPAA Security RuleNIST SP 800-66Covered EntityePHI

Full explanation

Segment

HL7 v2

Also: HL7 segment

An HL7 segment is one line of an HL7 v2 message, named by the three characters that open it: MSH, PID, OBX. Segments are terminated by a bare carriage return, not a line feed, and that detail trips up parsers fed messages that a text editor rewrote with CRLF.

HL7 v2 message, segment, field and component hierarchy MESSAGE - ADT^A01, one admit MSH|^~\&|EPIC|HOSP|MIRTH|SAGA|20260726120000||ADT^A01|MSG00001|P|2.5.1 EVN|A01|20260726120000 PID|1||4471102^^^HOSP&1.2.840.114398&ISO^MR||DOE^JANE^M||19540312|F SEGMENT - fields separated by | PID-1 1 PID-2 PID-3 4471102^^^HOSP&1.2.840.114398&ISO^MR PID-4 PID-5 DOE^JANE^M | | | | | empty fields still count - position carries the meaning FIELD - components separated by ^ 3.1 4471102 3.2 3.3 3.4 HOSP&1.2.840.114398&ISO 3.5 MR ^ ^ ^ ^ COMPONENT - subcomponents separated by & 3.4.1 HOSP 3.4.2 1.2.840.114398 3.4.3 ISO & & assigning authority: namespace id, universal id, universal id type MSH-1 and MSH-2 declare them: | field ^ compon ~ repeat \ escape & subcom
HL7 v2 message, segment, field and component hierarchy
One segment
PID|1||MRN12345^^^EPIC^MR||DOE^JANE^A||19850412|F

See also FieldMSH SegmentZ-SegmentHL7 v2

Full explanation

Series Instance UID

DICOM

Also: (0020,000E)

Series Instance UID (0020,000E) identifies one series within a study: a single acquisition, reconstruction, or scan direction. Viewers group thumbnails and fill hanging protocol slots by series, so a modality that reuses or randomizes series UIDs produces studies that display in the wrong order or appear duplicated in the archive.

See also Study Instance UIDPatient / Study / Series / InstanceHanging Protocol

SIU Message

HL7 v2

Also: Scheduling Information Unsolicited, SIU^S12

An SIU message notifies other systems about an appointment event: booked (S12), rescheduled (S13), cancelled (S15), or a no-show (S26). The SCH segment carries the appointment itself while AIS, AIG, AIL, and AIP segments describe the service, equipment, location, and staff assigned. Bidirectional scheduling needs one agreed source of truth.

See also PID SegmentModality WorklistTrigger Event

Full explanation

SMART on FHIR

FHIR

Also: SMART App Launch, Substitutable Medical Applications and Reusable Technologies

SMART on FHIR is the open standard that lets a third-party app launch against an EHR and read or write clinical data through its FHIR API under OAuth 2.0. Two launch modes exist: EHR launch, where patient and encounter context arrive pre-resolved, and standalone launch, where the app discovers the server and authorizes on its own. Epic, Oracle Health, and MEDITECH all support it.

The SMART on FHIR EHR launch and authorization sequence SMART app public client in the browser client_id = saga-viewer redirect_uri = /callback EHR authorization server + FHIR API iss = https://fhir.hospital.org/r4 aud must equal iss on /authorize 1 2 3 4 5 6 launch via browser discovery direct call authorize via browser code via browser token direct call FHIR data direct call GET /launch?iss=https://fhir.hospital.org/r4&launch=Xk92pQ iss is the FHIR base URL; launch is an opaque context handle GET {iss}/.well-known/smart-configuration authorization_endpoint token_endpoint capabilities plus code_challenge_methods_supported, which must include S256 GET /authorize?response_type=code&client_id=saga-viewer &scope=launch openid fhirUser patient/Patient.read &aud=https://fhir.hospital.org/r4&launch=Xk92pQ&state=s7 &code_challenge=E9Melhoa2Ow...&code_challenge_method=S256 302 https://app.saga-it.com/callback?code=Kx7Bd2&state=s7 the app rejects the response unless state matches what it sent POST {token_endpoint} grant_type=authorization_code code=Kx7Bd2 client_id=saga-viewer code_verifier=dBjftJ access_token=eyJhbGciOiJSUzI1... expires_in=3600 patient=4471102 scope=patient/Patient.read GET {iss}/Patient/4471102 Authorization: Bearer eyJ... Every later FHIR call carries the same bearer token; the patient id in the token response is the launch context.
The SMART on FHIR EHR launch and authorization sequence

See also OAuth ScopesCapabilityStatementFHIR

Full explanation

SOC 2

Security

Also: SOC 2 Type II, Service Organization Control 2

SOC 2 is an AICPA attestation in which an independent CPA firm reports on a service organization's controls against the Trust Services Criteria: Security, plus any of Availability, Processing Integrity, Confidentiality, and Privacy. Type I judges design at a point in time; Type II judges operating effectiveness over a 6 to 12 month window. There is no pass or fail, only an opinion.

See also HITRUST CSFISO 27001HIPAA Security Rule

Full explanation

SOP Class

DICOM

Also: Service-Object Pair Class

A SOP Class (Service-Object Pair Class) binds one Information Object Definition to one DICOM service, defining exactly what a system can do with that object type. CT Image Storage, Modality Worklist Information Model FIND, and Verification are all SOP Classes. Devices negotiate them by UID, and conformance statements list which ones each side supports.

A SOP Class as an IOD bound to a DIMSE service group A SOP CLASS IS ONE IOD BOUND TO ONE DIMSE SERVICE GROUP INFORMATION OBJECT DEFINITION CT Image CIOD · PS3.3 sect A.3 what the object must contain Patient M General Image M General Study M Image Plane M General Series M Image Pixel M Frame of Reference M CT Image M General Equipment M SOP Common M General Acquisition M Contrast/Bolus C 25 modules: 11 M, 3 C, 11 U DIMSE SERVICE GROUP Storage · PS3.4 Annex B what you may do with it C-STORE one operation in this group RSP 0x0000 Success RSP 0xA7xx Refused - out of resources RSP 0xA9xx Data set does not match SOP Class C-FIND, C-MOVE and C-GET are other groups SOP CLASS CT Image Storage (0008,0016) SOP Class UID 1.2.840.10008.5.1.4.1.1.2 Proposed as the abstract syntax of a presentation context; listed in conformance. one class, many instances SOP INSTANCE - one concrete object of that class slice 001 (0008,0018) 1.2.826.0.1.3680043.8.7.4.1.101 slice 002 (0008,0018) 1.2.826.0.1.3680043.8.7.4.1.102 slice 412 (0008,0018) 1.2.826.0.1.3680043.8.7.4.1.512 same SOP Class UID different instance UID Change either half and it is a different SOP Class: Verification (1.2.840.10008.1.1) pairs C-ECHO with no IOD at all.
A SOP Class as an IOD bound to a DIMSE service group

See also SOP InstanceSOP Class UIDIODPresentation Context

Full explanation

SOP Class UID

DICOM

Also: (0008,0016)

SOP Class UID (0008,0016) is the identifier that declares what type an object is, such as 1.2.840.10008.5.1.4.1.1.2 for CT Image Storage. It appears in the data set, in File Meta Information as Media Storage SOP Class UID, and in every association's presentation contexts. Routing and archive rules are commonly written against this one attribute.

Common storage classes
1.2.840.10008.5.1.4.1.1.2      CT Image Storage
1.2.840.10008.5.1.4.1.1.4      MR Image Storage
1.2.840.10008.5.1.4.1.1.88.59  Key Object Selection Document Storage

See also SOP ClassUIDFile Meta Information

Full explanation

SOP Instance

DICOM

A SOP Instance is one concrete object of a SOP Class: a single CT slice, one structured report, one presentation state. Every instance carries its own SOP Instance UID plus the SOP Class UID that says what it is. When people say image or object in a PACS conversation, the precise unit they mean is usually the SOP Instance.

See also SOP ClassSOP Instance UIDPatient / Study / Series / Instance

SOP Instance UID

DICOM

Also: (0008,0018)

SOP Instance UID (0008,0018) uniquely identifies a single DICOM object worldwide and never changes once assigned. Duplicate instance UIDs are the usual cause of images silently overwriting each other in an archive, which is why de-identification and anonymization tools must remap UIDs consistently rather than regenerating a fresh one per file.

See also UIDSOP InstanceDe-identificationStudy Instance UID

Full explanation

Source Connector

Integration

A source connector is the inbound side of a channel: the listener or poller that accepts messages into the engine. Common types are an MLLP listener on a TCP port, an HTTP or FHIR endpoint, a database poller, a file reader watching an SFTP or SMB drop, and a JMS consumer. Each channel has exactly one.

MLLP listener
Type    : TCP Listener
Address : 0.0.0.0:6661
Framing : 0x0B <message> 0x1C 0x0D
Response: auto-generate ACK

See also ChannelDestination ConnectorEndpointMLLP

Full explanation

Storage Commitment

DICOM

Storage Commitment is the DICOM service in which a sender asks an archive to confirm that specified SOP Instances are safely persisted, and the archive answers asynchronously with N-EVENT-REPORT. Modalities and gateways treat that confirmation as the signal it is safe to delete local copies. Without it, a successful C-STORE only proves the receiver accepted the bytes.

See also C-STORESOP Instance UIDDIMSEPACS

STOW-RS

DICOM

Also: Store Over the Web

STOW-RS is the DICOMweb store service: an HTTP POST of one or more instances as multipart/related, optionally scoped to a specific Study Instance UID. It is the equivalent of C-STORE, and the response body reports success or failure per instance, so a 200 does not mean every instance landed. Check the referenced and failed sequences.

Store request
POST /studies
Content-Type: multipart/related; type="application/dicom"; boundary=...

See also DICOMwebC-STOREWADO-RS

Structured Report

DICOM

Also: DICOM SR, SR

A DICOM Structured Report (SR) stores report content as a coded tree of measurements, findings, and image references instead of free text. Templates such as TID 1500, the Measurement Report, define the expected shape. SR is how imaging AI and quantitative tools return machine-readable output that can be mapped onward to a FHIR DiagnosticReport.

A DICOM structured report content tree with coded concept names SR CONTENT TREE - TID 1500 MEASUREMENT REPORT Comprehensive SR · (0040,DB00) = 1500 CONTAINER root content item (0040,A050) ContinuityOfContent = SEPARATE (126000, DCM, Imaging Measurement Report) HAS CONCEPT MOD CODE (0040,A168) ConceptCodeSequence (121049, DCM, Language of Content Item and Descendants) = (en, RFC5646, English) CONTAINS CONTAINER one item per measured object (126010, DCM, Imaging Measurements) CONTAINS CONTAINER one group per lesion (125007, DCM, Measurement Group) HAS OBS CONTEXT TEXT (0040,A160) TextValue (112039, DCM, Tracking Identifier) = Lesion 1 CONTAINS NUM (0040,A300) MeasuredValueSequence (410668003, SCT, Length) = 34.7 (mm, UCUM, mm) HAS PROPERTIES CODE (0040,A168) ConceptCodeSequence (363698007, SCT, Finding Site) = (10200004, SCT, Liver) INFERRED FROM IMAGE no concept name - the reference is the value (0008,1199) · (0008,1155) 1.2.826.0.1.3680043.8.7.4.1.101 HOW ONE CONTENT ITEM IS ENCODED SOP Class 1.2.840.10008.5.1.4.1.1.88.33 tree (0040,A730) ContentSequence holds the children of any item item (0040,A040) ValueType · (0040,A010) RelationshipType · (0040,A043) ConceptNameCodeSequence NUM (0040,A300) MeasuredValueSequence · (0040,08EA) MeasurementUnitsCodeSequence
A DICOM structured report content tree with coded concept names

See also SOP ClassKey Object SelectionFHIR ResourceORU Message

Study Instance UID

DICOM

Also: (0020,000D)

Study Instance UID (0020,000D) identifies one imaging study across every system that touches it, from modality to archive to viewer to FHIR ImagingStudy. It is the join key for imaging integration work: order reconciliation, prior fetching, and cross-enterprise sharing all hang off it. Splitting or merging studies means rewriting it, which is never simple.

See also Series Instance UIDPatient / Study / Series / InstanceStudy ReconciliationAccession Number

Study Reconciliation

Imaging ops

Study reconciliation is the correction workflow for studies whose demographics or order linkage are wrong: images acquired under the wrong patient, a missing accession number, or a study attached to the wrong order. The fix rewrites DICOM attributes in the archive and re-indexes, which is why reconciliation tools are privileged, audited, and never exposed to the whole department.

See also Patient ID MergeAccession NumberModality WorklistAudit Log

Full explanation

Subcomponent

HL7 v2

Also: HL7 subcomponent

An HL7 subcomponent is the deepest level of a v2 message, produced by splitting a component on the ampersand character. Subcomponents show up inside composite data types, for example the namespace and universal ID parts of an assigning authority. A company name containing an ampersand must be escaped so the parser does not split it.

See also ComponentEncoding CharactersField

Full explanation

T

Teleradiology

Imaging ops

Teleradiology is the practice of transmitting imaging studies to a radiologist outside the acquiring facility for interpretation, whether that is overnight coverage, subspecialty reads, or a rural network with no on-site radiologist. Technically it is an image-exchange and identity problem: encrypted transport, cross-organization patient matching, and getting the signed report back into the originating RIS.

See also Zero-Footprint ViewerDICOMwebEncryption in TransitStudy Reconciliation

Full explanation

Throughput

Integration

Also: Message volume

Throughput is the rate an interface sustains, counted in messages per second, per hour, or per day. Healthcare loads are spiky rather than flat: a nightly census ADT batch or a lab autoverification burst can be ten times the daily average, so sizing against a daily total hides the peak that actually breaks the channel.

Size for the peak, not the average
daily total        1,200,000 msgs
daily average      14 msg/s
23:00 census peak  180 msg/s

See also Message QueueChannelDashboard Statistics

Full explanation

Topology Diagram

Integration

Also: Integration topology diagram, Interface diagram

A topology diagram is the map of which clinical systems exchange data with which, and over what protocol and port. It shows the integration engine as the hub, with the EHR, lab, PACS, pharmacy, and databases as spokes and a labeled connector on every link. Teams draw one before a build, an engine migration, or a security review.

See also Hub-and-SpokeEndpointInterface SpaghettiInterface Specification

Full explanation

Transfer Syntax

DICOM

A transfer syntax defines how a DICOM data set is encoded: byte ordering, whether VRs are written explicitly, and which compression (if any) applies to pixel data. Every Part 10 file names one in (0002,0010), and every association negotiates one per presentation context. A mismatch is the classic cause of unreadable images.

Transfer syntax negotiation during association PROPOSED - A-ASSOCIATE-RQ 1 CT Image Storage 1.2.840.10008.1.2.1 Explicit VR LE 1.2.840.10008.1.2 Implicit VR LE 1.2.840.10008.1.2.4.90 JPEG 2000 3 MR Image Storage 1.2.840.10008.1.2.1 Explicit VR LE 5 US Image Storage 1.2.840.10008.1.2.4.50 JPEG Baseline Odd context ids, one abstract syntax each. One or more transfer syntaxes proposed per context. ACCEPTED - A-ASSOCIATE-AC context 1 accepted - reason 0 1.2.840.10008.1.2.1 Explicit VR LE The other two proposals are dropped. context 3 accepted - reason 0 1.2.840.10008.1.2.1 Explicit VR LE context 5 rejected - reason 4 transfer syntaxes not supported Exactly one transfer syntax per accepted context. No renegotiation afterwards. RESULT CT and MR instances travel as Explicit VR Little Endian on this association. US instances cannot be sent at all until a context for them is accepted.
Transfer syntax negotiation during association

See also Implicit VR Little EndianExplicit VR Little EndianPresentation ContextPixel Data

Full explanation

Transformer

Integration

A transformer is the step in a channel that rewrites a message from the source format into what the destination expects. In practice that means mapping HL7 v2 fields to FHIR elements, translating code sets such as ICD-10 to SNOMED, defaulting missing values, and enriching from a lookup table. Most production defects in an interface live here, not in the transport.

See also ChannelMessage FilterSegmentFHIR Resource

Full explanation

Trigger Event

HL7 v2

A trigger event is the real-world occurrence that causes a system to emit an HL7 v2 message: a patient is admitted, a result is verified, an appointment is cancelled. The event code appears in MSH-9 alongside the message code, as in ADT^A01, and ADT and MDM messages repeat it in EVN-1.

See also Message TypeEVN SegmentADT FeedMSH Segment

Full explanation

U

UID

DICOM

Also: Unique Identifier, DICOM UID

A DICOM UID is a globally unique identifier written as dot-separated numbers, at most 64 characters, with no leading zeros in a component. Standard UIDs live under the 1.2.840.10008 root; every vendor and site registers its own root for the instance, study, and series UIDs it generates. UIDs are matched as exact strings, never with wildcards.

See also SOP Instance UIDStudy Instance UIDValue Representation

UPS-RS

DICOM

Also: Unified Procedure Step, Worklist Service

UPS-RS is the DICOMweb worklist service built on Unified Procedure Step, letting clients create, claim, update, and subscribe to work items over HTTP. It is the modern successor to Modality Worklist plus MPPS and a natural fit for AI inference queues where a scheduler hands studies to workers. Adoption is still thin outside newer platforms.

See also DICOMwebModality WorklistMPPS

US Core

FHIR

Also: US Core Implementation Guide

US Core is the HL7 implementation guide that defines the minimum FHIR data US certified health IT must expose, and the profile set through which USCDI data classes are realized. It fixes required elements, Must Support rules, and terminology bindings to SNOMED CT, LOINC, RxNorm, and ICD-10-CM. Version matters: an app built against US Core 3.1.1 can fail validation on a server publishing 6.1.0 profiles.

See also Implementation GuideFHIR ProfileValueSet and CodeSystem

Full explanation

V

Value Multiplicity

DICOM

Also: VM

Value Multiplicity (VM) states how many values an attribute may carry, written as 1, 3, 1-n, or 2-2n. Image Position (Patient) is VM 3 because it holds x, y, and z; Image Orientation (Patient) is VM 6. Multiple values are separated by backslashes in string VRs, which trips up parsers that split on the wrong delimiter.

Multi-valued elements
(0020,0032) ImagePositionPatient  DS  VM=3   -103.6\-166.5\12.75
(0028,1050) WindowCenter          DS  VM=1-n  -600\40

See also Value RepresentationData ElementImage Position (Patient)

Full explanation

Value Representation

DICOM

Also: VR

A Value Representation (VR) is the two-letter code that declares an attribute's data type: PN for person names, DA for dates, UI for UIDs, DS for decimal strings, SQ for nested sequences. The VR fixes the value's format, its maximum length, and how a C-FIND match against it behaves. DICOM defines 34 of them.

See also Value MultiplicityData ElementTransfer Syntax

Full explanation

ValueSet and CodeSystem

FHIR

Also: ValueSet, CodeSystem, FHIR terminology

ValueSet and CodeSystem are FHIR's two terminology resources: a CodeSystem defines codes and their meanings (LOINC, SNOMED CT, RxNorm), and a ValueSet selects a subset of those codes for use in a specific element. Profiles bind elements to ValueSets, and a terminology server resolves them through the $expand and $validate-code operations. Local site codes that were never mapped are a frequent validation failure.

See also FHIR ProfileUS CoreFHIR Resource

Full explanation

VNA

Imaging ops

Also: Vendor Neutral Archive, Vendor-Neutral Archive

A VNA is a storage layer that owns long-term imaging data independently of any PACS vendor, so replacing the PACS does not mean migrating petabytes with it. It speaks standard DICOM plus DICOMweb or XDS-I, which turns the next migration into a standards-level export rather than a proprietary database rewrite.

Vendor neutral archive alongside departmental PACS CT MR CR XA US OCT FUNDUS Radiology PACS vendor A, own worklist proprietary archive Cardiology CVIS vendor B, own worklist proprietary archive Ophthalmology vendor C, own worklist proprietary archive C-STORE STOW-RS C-STORE Vendor neutral archive one archive spanning every department standards-based tag morphing retention + tiering IOCM lifecycle WADO-RS / QIDO-RS Zero-footprint enterprise viewer one patient jacket across all three Each PACS keeps its worklist and reading workflow. The VNA takes over storage, lifecycle and enterprise access.
Vendor neutral archive alongside departmental PACS

See also PACSEnterprise ImagingArchive TieringXDS-I

Full explanation

W

WADO-RS

DICOM

Also: Web Access to DICOM Objects by RESTful Services

WADO-RS is the DICOMweb retrieve service: an HTTP GET against a study, series, instance, or frame path returns the requested objects as multipart/related, or as rendered JPEG or PNG through the /rendered suffix. It is the rough equivalent of C-GET and the transport every zero-footprint viewer relies on to pull images into a browser.

Retrieve paths
GET /studies/1.2.840.113619.2.55.3.12345
GET /studies/{study}/series/{series}/instances/{instance}
GET /studies/{study}/series/{series}/instances/{instance}/frames/1/rendered

See also DICOMwebQIDO-RSZero-Footprint ViewerC-GET

Window Center / Width

DICOM

Also: Window level, W/L, (0028,1050), (0028,1051)

Window Center (0028,1050) and Window Width (0028,1051) define the display window applied after rescaling: the center picks which value sits mid-gray and the width sets how many values span black to white. They are presentation hints, not changes to stored pixels, so a lung window and a bone window are the same data displayed twice.

Window center and width mapping stored pixel values to display grayscale stored SV (7FE0,0010) modality LUT (0028,1052/1053) HU value -1024 to +3071 VOI LUT (0028,1050/1051) display 0 to 255 CHEST CT - HISTOGRAM OF STORED VALUES x axis: HU after the modality LUT C - W/2 = -160 W = 400 C + W/2 = +240 voxels C = 40 air lung fat soft tissue bone -1000 -600 -200 0 +200 +600 +1000 DISPLAYED GREY LEVEL 255 white 0 black -160 +240 at or below -160 HU every value renders black - level 0 air and lung are lost at this window linear ramp at or above +240 renders white - level 255 about 1.6 HU per display step (0028,1056) VOI LUT Function LINEAR - PS3.3 C.11.2.1.2 y = ((x - (C - 0.5)) / (W - 1) + 0.5) × (ymax - ymin) + ymin LINEAR_EXACT clamps at C ± W/2 CT WINDOW PRESETS not defined by the standard (0028,1050) 40\-600 (0028,1051) 400\1500 VM 1-n each lung -600/1500 mediastinum 50/350 soft tissue 40/400 bone 300/1500 brain 40/80
Window center and width mapping stored pixel values to display grayscale

See also Rescale Slope / InterceptPixel DataPresentation State

X

XDS-I

Imaging ops

Also: XDS-I.b, Cross-Enterprise Document Sharing for Imaging

XDS-I is the IHE profile that extends cross-enterprise document sharing to imaging, letting one organization publish a Key Object Selection manifest of a study to a shared registry so another can retrieve the images without a direct DICOM association. The current revision is XDS-I.b, and it is the standards-based alternative to point-to-point image exchange between health systems.

See also VNAEnterprise ImagingTeleradiologyKey Object Selection

Full explanation

Z

Z-Segment

HL7 v2

Also: Custom segment, Z segment

A Z-segment is a site-defined or vendor-defined HL7 v2 segment whose three-character name begins with Z, used to carry data the standard has no field for. Because Z-segments are outside the standard, ZPI in one hospital and ZPI in another mean nothing alike, and each one needs its own written specification.

Site-defined segment
ZPD|1|VIP|ES|PORTAL_ACTIVE

See also SegmentInterface SpecificationTransformerHL7 v2

Full explanation

Zero-Footprint Viewer

Imaging ops

Also: ZFP viewer, Web viewer

A zero-footprint viewer is a diagnostic or review image viewer that runs entirely in the browser: no thick client, no Java applet, no per-workstation install. It fetches pixels over DICOMweb rather than DIMSE, which makes it firewall-friendly and embeddable inside an EHR through a context launch. OHIF is the widely deployed open-source example.

See also DICOMwebWADO-RSSMART on FHIRHanging Protocol

Full explanation

Portions of the DICOM definitions above paraphrase or quote the DICOM Standard, published by NEMA. See licenses & sources.