HL7 PT FHIR Implementation Guide: Example IG Release 1 | STU1
1.0.0 - STU1

HL7 PT FHIR Implementation Guide: Example IG Release 1 | STU1, publicado por HL7 Portugal. Este guia não é uma publicação autorizada; é a compilação contínua para a versão 1.0.0 construída pela FHIR (HL7® FHIR® Standard) CI Build. Esta versão é baseada no conteúdo atual de https://github.com/hl7-pt/patient-admin-ig/ e muda regularmente. Veja o Diretório de versões publicadas

## Resource Profile: PTBundleMessage ( Abstract )

Official URL: http://example.com/fhir/hl7pt/StructureDefinition/BundleMessage-Pt | Version: 1.0.0
Active as of 2026-02-13 | Computable Name: PTBundleMessage

Perfil de BundleMessage para contexto de comunicação Messaging.

Usos:

- Este Perfil não é utilizado por nenhum perfil neste guia de implementação

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Nome | Bandeiras | Card. | Tipo | Descrição e condicionalismos Filter: Condicionantes Obrigações Vínculos
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Este é um resumo profile. Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
id | Σ | 1..1 | id | Logical id of this artifact
meta | Σ | 1..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Vínculo: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Padrão necessário: message
timestamp | Σ | 1..1 | instant | When the bundle was assembled
Documentação para este formato

#### Terminologia Ligações

Caminho | Estado | Utilização | Conjunto de valores | Versão | Fonte
Bundle.type | Base | required | BundleType | 📍4.0.1 | a norma FHIR

#### Restrições

Id | Grau | Caminho(s) | Descrição | Expressão
bdl-1 | error | Bundle | total only when a search or history | `total.empty() or (type = 'searchset') or (type = 'history')`
bdl-2 | error | Bundle | entry.search only when a search | `entry.search.empty() or (type = 'searchset')`
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited | `entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))`
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited | `entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))`
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) | `(type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()`
bdl-9 | error | Bundle | A document must have an identifier with a system and a value | `type = 'document' implies (identifier.system.exists() and identifier.value.exists())`
bdl-10 | error | Bundle | A document must have a date | `type = 'document' implies (timestamp.hasValue())`
bdl-11 | error | Bundle | A document must have a Composition as the first resource | `type = 'document' implies entry.first().resource.is(Composition)`
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource | `type = 'message' implies entry.first().resource.is(MessageHeader)`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

This structure is derived from Bundle

Nome | Bandeiras | Card. | Tipo | Descrição e condicionalismos Filter: Condicionantes Obrigações Vínculos
--- | --- | --- | --- | ---
Bundle |  | 0..* | Bundle | Este é um resumo profile. Contains a collection of resources
id |  | 1..1 | id | Logical id of this artifact
meta |  | 1..1 | Meta | Metadata about the resource
language |  | 0..0 |  | Language of the resource content
type |  | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Padrão necessário: message
timestamp |  | 1..1 | instant | When the bundle was assembled
Documentação para este formato

Nome | Bandeiras | Card. | Tipo | Descrição e condicionalismos Filter: Condicionantes Obrigações Vínculos
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Este é um resumo profile. Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
id | Σ | 1..1 | id | Logical id of this artifact
meta | Σ | 1..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
identifier | Σ | 0..1 | Identifier | Persistent identifier for the bundle
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Vínculo: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Padrão necessário: message
timestamp | Σ | 1..1 | instant | When the bundle was assembled
total | Σ C | 0..1 | unsignedInt | If search, the total number of matches
link | Σ | 0..* | BackboneElement | Links related to this Bundle
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
relation | Σ | 1..1 | string | See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
url | Σ | 1..1 | uri | Reference details for the link
entry | Σ C | 0..* | BackboneElement | Entry in the bundle - will have a resource or information Constraints: bdl-5, bdl-8 Esta ordem de repetição de elementos: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
link | Σ | 0..* | Ver link (Bundle) | Links related to this entry
fullUrl | Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID)
resource | Σ | 0..1 | Resource | A resource in the bundle
search | Σ C | 0..1 | BackboneElement | Search related information
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
mode | Σ | 0..1 | code | match | include | outcome - why this is in the result set Vínculo: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Vínculo: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache currency
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
signature | Σ | 0..1 | Signature | Digital Signature
Documentação para este formato

#### Terminologia Ligações

Caminho | Estado | Utilização | Conjunto de valores | Versão | Fonte
Bundle.type | Base | required | BundleType | 📍4.0.1 | a norma FHIR
Bundle.entry.search.​mode | Base | required | SearchEntryMode | 📍4.0.1 | a norma FHIR
Bundle.entry.request.​method | Base | required | HTTPVerb | 📍4.0.1 | a norma FHIR

#### Restrições

Id | Grau | Caminho(s) | Descrição | Expressão
bdl-1 | error | Bundle | total only when a search or history | `total.empty() or (type = 'searchset') or (type = 'history')`
bdl-2 | error | Bundle | entry.search only when a search | `entry.search.empty() or (type = 'searchset')`
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited | `entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))`
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited | `entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))`
bdl-5 | error | Bundle.entry | must be a resource unless there's a request or response | `resource.exists() or request.exists() or response.exists()`
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) | `(type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()`
bdl-8 | error | Bundle.entry | fullUrl cannot be a version specific reference | `fullUrl.contains('/_history/').not()`
bdl-9 | error | Bundle | A document must have an identifier with a system and a value | `type = 'document' implies (identifier.system.exists() and identifier.value.exists())`
bdl-10 | error | Bundle | A document must have a date | `type = 'document' implies (timestamp.hasValue())`
bdl-11 | error | Bundle | A document must have a Composition as the first resource | `type = 'document' implies entry.first().resource.is(Composition)`
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource | `type = 'message' implies entry.first().resource.is(MessageHeader)`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Bundle

Resumo

Obrigatório: 3 elementos
Proibido: 1 elemento

Key Elements View

Nome | Bandeiras | Card. | Tipo | Descrição e condicionalismos Filter: Condicionantes Obrigações Vínculos
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Este é um resumo profile. Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
id | Σ | 1..1 | id | Logical id of this artifact
meta | Σ | 1..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Vínculo: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Padrão necessário: message
timestamp | Σ | 1..1 | instant | When the bundle was assembled
Documentação para este formato

#### Terminologia Ligações

Caminho | Estado | Utilização | Conjunto de valores | Versão | Fonte
Bundle.type | Base | required | BundleType | 📍4.0.1 | a norma FHIR

#### Restrições

Id | Grau | Caminho(s) | Descrição | Expressão
bdl-1 | error | Bundle | total only when a search or history | `total.empty() or (type = 'searchset') or (type = 'history')`
bdl-2 | error | Bundle | entry.search only when a search | `entry.search.empty() or (type = 'searchset')`
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited | `entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))`
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited | `entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))`
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) | `(type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()`
bdl-9 | error | Bundle | A document must have an identifier with a system and a value | `type = 'document' implies (identifier.system.exists() and identifier.value.exists())`
bdl-10 | error | Bundle | A document must have a date | `type = 'document' implies (timestamp.hasValue())`
bdl-11 | error | Bundle | A document must have a Composition as the first resource | `type = 'document' implies entry.first().resource.is(Composition)`
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource | `type = 'message' implies entry.first().resource.is(MessageHeader)`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

Differential View

This structure is derived from Bundle

Nome | Bandeiras | Card. | Tipo | Descrição e condicionalismos Filter: Condicionantes Obrigações Vínculos
--- | --- | --- | --- | ---
Bundle |  | 0..* | Bundle | Este é um resumo profile. Contains a collection of resources
id |  | 1..1 | id | Logical id of this artifact
meta |  | 1..1 | Meta | Metadata about the resource
language |  | 0..0 |  | Language of the resource content
type |  | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Padrão necessário: message
timestamp |  | 1..1 | instant | When the bundle was assembled
Documentação para este formato

Snapshot View

Nome | Bandeiras | Card. | Tipo | Descrição e condicionalismos Filter: Condicionantes Obrigações Vínculos
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Este é um resumo profile. Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
id | Σ | 1..1 | id | Logical id of this artifact
meta | Σ | 1..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
identifier | Σ | 0..1 | Identifier | Persistent identifier for the bundle
type | Σ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Vínculo: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Padrão necessário: message
timestamp | Σ | 1..1 | instant | When the bundle was assembled
total | Σ C | 0..1 | unsignedInt | If search, the total number of matches
link | Σ | 0..* | BackboneElement | Links related to this Bundle
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
relation | Σ | 1..1 | string | See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
url | Σ | 1..1 | uri | Reference details for the link
entry | Σ C | 0..* | BackboneElement | Entry in the bundle - will have a resource or information Constraints: bdl-5, bdl-8 Esta ordem de repetição de elementos: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
link | Σ | 0..* | Ver link (Bundle) | Links related to this entry
fullUrl | Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID)
resource | Σ | 0..1 | Resource | A resource in the bundle
search | Σ C | 0..1 | BackboneElement | Search related information
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
mode | Σ | 0..1 | code | match | include | outcome - why this is in the result set Vínculo: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Vínculo: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache currency
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
signature | Σ | 0..1 | Signature | Digital Signature
Documentação para este formato

#### Terminologia Ligações

Caminho | Estado | Utilização | Conjunto de valores | Versão | Fonte
Bundle.type | Base | required | BundleType | 📍4.0.1 | a norma FHIR
Bundle.entry.search.​mode | Base | required | SearchEntryMode | 📍4.0.1 | a norma FHIR
Bundle.entry.request.​method | Base | required | HTTPVerb | 📍4.0.1 | a norma FHIR

#### Restrições

Id | Grau | Caminho(s) | Descrição | Expressão
bdl-1 | error | Bundle | total only when a search or history | `total.empty() or (type = 'searchset') or (type = 'history')`
bdl-2 | error | Bundle | entry.search only when a search | `entry.search.empty() or (type = 'searchset')`
bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited | `entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))`
bdl-4 | error | Bundle | entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited | `entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))`
bdl-5 | error | Bundle.entry | must be a resource unless there's a request or response | `resource.exists() or request.exists() or response.exists()`
bdl-7 | error | Bundle | FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) | `(type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()`
bdl-8 | error | Bundle.entry | fullUrl cannot be a version specific reference | `fullUrl.contains('/_history/').not()`
bdl-9 | error | Bundle | A document must have an identifier with a system and a value | `type = 'document' implies (identifier.system.exists() and identifier.value.exists())`
bdl-10 | error | Bundle | A document must have a date | `type = 'document' implies (timestamp.hasValue())`
bdl-11 | error | Bundle | A document must have a Composition as the first resource | `type = 'document' implies entry.first().resource.is(Composition)`
bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource | `type = 'message' implies entry.first().resource.is(MessageHeader)`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Bundle

Resumo

Obrigatório: 3 elementos
Proibido: 1 elemento

Other representations of profile: CSV, Excel, Schematron