Cosa significa il simbolo ?! (isModifier)

Categories: HL7 FHIRPublished On: 27 Ottobre 2025Last Updated: 27 Ottobre 2025Tags: , ,

Questo è un punto cruciale delle regole di conformità di FHIR.

Il simbolo ?! (punto interrogativo esclamativo) identifica un elemento come “isModifier” (è un modificatore).

In termini semplici, questo simbolo significa:

ATTENZIONE: NON PUOI IGNORARE QUESTO ELEMENTO.

Il suo valore, se presente, cambia fondamentalmente il significato dell’intera risorsa.

Qui la spiegazione ufficiale.

Cosa significa in pratica?

Se stai costruendo un’applicazione che riceve dati FHIR e incontri un elemento marcato con ?!:

  1. Obbligo di comprensione: La tua applicazione deve essere in grado di riconoscere e interpretare il valore di quell’elemento.
  2. Rischio di sicurezza: Ignorare un elemento “modifier” è pericoloso e può portare a gravi errori clinici.
  3. Integrità dei dati: Un sistema non può semplicemente ricevere la risorsa, salvare i campi che conosce e ignorare il campo ?! che non conosce. Se ignora un elemento “modifier”, sta di fatto interpretando male l’intera risorsa.

Esempi classici

Gli esempi più comuni chiariscono immediatamente il concetto:

  • AllergyIntolerance.verificationStatus: Questo campo (marcato ?!) indica lo stato di verifica di un’allergia. Se il suo valore è "entered-in-error" (inserito per errore), significa che il paziente NON ha quell’allergia. Se la tua applicazione ignora questo campo, potrebbe erroneamente credere che il paziente sia allergico a qualcosa, con conseguenze potenzialmente fatali.
  • status: Quasi ogni risorsa ha un campo status (come Observation.status o MedicationRequest.status) ed è quasi sempre un “modifier”. Se lo status è "preliminary" (preliminare), "final", "cancelled" (annullato) o "entered-in-error", il significato clinico dell’intera osservazione o prescrizione cambia drasticamente.
  • Patient.deceased[x]: Se questo elemento è presente e impostato su true, indica che il paziente è deceduto. Ignorare questo campo porterebbe a trattare un paziente deceduto come se fosse vivo.

In sintesi, il simbolo ?! è il modo in cui lo standard FHIR segnala i “campi trappola” che non possono essere ignorati in sicurezza.

 

English version

What’s the meaning of ?! in FHIR resources?

This is a crucial point of the FHIR conformance rules.

The ?! (question mark exclamation point) symbol identifies an element as “isModifier”.

In simple terms, this symbol means:

WARNING: YOU CANNOT IGNORE THIS ELEMENT.

Its value, if present, fundamentally changes the meaning of the entire resource.

Link to HL7.org

What does this mean in practice?

 

If you are building an application that receives FHIR data and you encounter an element marked with ?!:

  • Obligation to Understand: Your application must be able to recognize and interpret the value of that element.
  • Safety Risk: Ignoring a “modifier” element is dangerous and can lead to serious clinical errors.
  • Data Integrity: A system cannot simply receive the resource, save the fields it knows, and ignore the ?! field it doesn’t. If it ignores a “modifier” element, it is fundamentally misinterpreting the entire resource.

 

Classic Examples

 

The most common examples make the concept immediately clear:

  • AllergyIntolerance.verificationStatus: This field (marked ?!) indicates the verification status of an allergy. If its value is "entered-in-error", it means the patient DOES NOT have that allergy. If your application ignores this field, it might mistakenly believe the patient has an allergy, with potentially fatal consequences.
  • status: Almost every resource has a status field (like Observation.status or MedicationRequest.status), and it is almost always a “modifier”. If the status is "preliminary", "final", "cancelled", or "entered-in-error", the clinical meaning of the entire observation or prescription changes drastically.

In summary, the ?! symbol is the FHIR standard’s way of flagging “trap fields” that cannot be safely ignored.

Total Views: 246Daily Views: 2

Condividi questo articolo

Leave A Comment