Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta página, explicamos o conceito de integridade referencial relacionado a recursos em um armazenamento FHIR na API Cloud Healthcare.
O armazenamento FHIR impõe integridade referencial em referências a outros recursos no mesmo armazenamento:
Ao criar, atualizar ou corrigir um recurso, a operação falhará se o conteúdo resultante contiver uma referência a um recurso ou versão de recurso que não existe.
Ao excluir um recurso, a operação falhará se houver outros recursos no armazenamento que fazem referência a esse recurso.
A integridade referencial pode ser desativada definindo a opção disableReferentialIntegrity no momento da criação da loja.
Exclusões e limitações
A especificação FHIR permite várias formas de referências, algumas das quais não são cobertas pela integridade referencial:
Uma referência externa especificada por um URL que não corresponde ao URL base do armazenamento FHIR.
Uma referência lógica especificada por um identificador de empresa.
Uma referência que contém apenas uma string de exibição legível.
As referências nas extensões
FHIR só estão sujeitas à integridade referencial se complexDataTypeReferenceParsing
for definido como ENABLED. Esse é o valor padrão para novos armazenamentos de FHIR.
Determinados métodos de API podem fazer com que a integridade referencial seja violada em algumas condições:
O FHIR permite que as referências apontem para uma versão de histórico específica de um recurso usando o formulário [resource type]/[resource ID]/_history/[version ID]. A integridade referencial é aplicada a essas referências quando criadas ou atualizadas, mas ao usar o método Resource-purge para remover versões históricas de um recurso, as referências recebidas não são verificadas.
O método FHIR import não impõe integridade referencial. O método pode ser usado nos casos em que a integridade referencial não é obrigatória ou quando a entrada é conhecida por atender à integridade referencial. No último caso, as referências dentro do armazenamento FHIR alcançarão consistência eventual depois que todos os recursos forem importados.
O método deidentify pode criar um armazenamento FHIR em um estado que não satisfaz a integridade referencial temporariamente durante a operação ou permanentemente se os filtros forem usados para selecionar um subconjunto de recursos.
Um estado em que a integridade está sendo aplicada, mas foi violado por um dos casos anteriores fará com que as atualizações de recursos sejam rejeitadas em um recurso que contenha uma referência inválida, a menos que a atualização corrija ou remova todas as referências inválidas. Esse estado também pode criar dificuldades para aplicativos que usam a loja que pressupõe integridade.
Recursos contidos
A especificação FHIR contém uma restrição de que cada recurso contido precisa ser referenciado de algum lugar dentro do respectivo recurso (incluindo referências de outros recursos contidos), e todas as referências a um recurso contido precisam ser válidas. Essa restrição é aplicada separadamente da integridade referencial e não pode ser desativada porque é definida nos invários FHIRPath em cada recurso individual.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 UTC."],[[["\u003cp\u003eThis page outlines how the Cloud Healthcare API's FHIR store enforces referential integrity on references to other resources within the same store, causing operations to fail if references are invalid or if referenced resources are deleted.\u003c/p\u003e\n"],["\u003cp\u003eReferential integrity can be disabled during FHIR store creation using the \u003ccode\u003edisableReferentialIntegrity\u003c/code\u003e option.\u003c/p\u003e\n"],["\u003cp\u003eCertain types of references, such as external URLs, logical identifiers, or simple display strings, are excluded from referential integrity checks, and references within FHIR extensions are only checked if \u003ccode\u003ecomplexDataTypeReferenceParsing\u003c/code\u003e is enabled.\u003c/p\u003e\n"],["\u003cp\u003eSpecific API methods like \u003ccode\u003eResource-purge\u003c/code\u003e, \u003ccode\u003eimport\u003c/code\u003e, and \u003ccode\u003edeidentify\u003c/code\u003e can bypass referential integrity checks, potentially leading to a state where integrity is violated.\u003c/p\u003e\n"],["\u003cp\u003eThe FHIR specification's constraint on contained resources, which requires them to be referenced within their containing resource and every reference to them to be valid, is enforced independently and cannot be disabled.\u003c/p\u003e\n"]]],[],null,["# FHIR referential integrity\n\nThis page explains the concept of referential integrity as it relates to\nresources within a FHIR store in the Cloud Healthcare API.\n\nThe FHIR store enforces referential integrity on references to other resources\nwithin the same store:\n\n- When creating, updating, or patching a resource, the operation will fail if the resulting content of the resource contains a reference to a resource or resource version that does not exist.\n- When deleting a resource, the operation will fail if there are other resources in the store that reference that resource.\n\nReferential integrity can be disabled by setting the\n[`disableReferentialIntegrity`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores#FhirStore.FIELDS.disable_referential_integrity) option at the time of store creation.\n\nExclusions and limitations\n--------------------------\n\nThe FHIR specification allows various forms of\n[references](http://hl7.org/fhir/references.html), some of which are not\ncovered by referential integrity:\n\n- An external reference specified by a URL that does not match the base URL of the FHIR store.\n- A logical reference specified by a business identifier.\n- A reference containing only a human-readable display string.\n- References inside FHIR [extensions](http://hl7.org/fhir/extensibility.html) are only subject to referential integrity if [`complexDataTypeReferenceParsing`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores#ComplexDataTypeReferenceParsing) is set to `ENABLED`. This is the default value for new FHIR stores.\n\nCertain API methods can cause referential integrity to be violated under some conditions:\n\n- FHIR allows references to point to a specific history version of a resource using the form `[resource type]/[resource ID]/_history/[version ID]`. Referential integrity is applied to these references when created or updated, but when using the [`Resource-purge`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/Resource-purge) method to remove historical versions of a resource, incoming references are **not** checked.\n- The FHIR [`import`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores/import) method does not enforce referential integrity. The method may be used either in cases where referential integrity is not required, or where the input is known to satisfy referential integrity. In the latter case, the references inside the FHIR store will reach eventual consistency after every resource is successfully imported.\n- The [`deidentify`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores/deidentify) method can potentially create a FHIR store in a state that does not satisfy referential integrity temporarily during the operation, or permanently if filters are used to select a subset of resources.\n\nA state where integrity is being enforced but has been violated by one of the previous cases will\ncause resource updates to be rejected on a resource that contains an invalid reference, unless the\nupdate fixes or removes all invalid references. Such a state might also create difficulties for\napplications using the store that assume integrity.\n\nContained resources\n-------------------\n\nThe FHIR specification contains a constraint that every\n[contained resource](http://hl7.org/fhir/references.html#contained) must be\nreferenced from somewhere within its containing resource (including references from other\ncontained resources), and every reference to a contained resource must be valid. This constraint\nis enforced separately from referential integrity and cannot be disabled as it is defined in the\nFHIRPath invariants on each individual resource."]]