# Get FHIR r4 provenances
Endpoint: GET /site/{siteId}/fhir/provenance
Version: 1.0
Security: bearer, bearer
## Path parameters:
- `siteId` (string, required)
Site identifier
## Query parameters:
- `_count` (number)
Number of items to return (default=20).
Example: 10
- `_page_token` (string)
Token for fetching the next page of results.
Example: "CgYK..."
- `_sort` (string)
Sort the results by a given field, e.g. _sort=family or _sort=-date.
Example: "family"
- `_elements` (string)
Restrict returned fields, e.g. _elements=identifier,name.
Example: "identifier,name"
- `telecom` (string)
Filter by resource telecom, e.g. date=[SYSTEM]|[VALUE].
Example: "telecom=phone|555-555-5555"
- `_id` (string)
Search for a specific resource by ID, e.g. _id=abc123.
Example: "abc123"
- `identifier` (string)
Search for resources by identifier token, e.g. identifier=http://hospital.org|12345.
Example: "http://hospital.org|12345"
- `_include` (string)
Include related resources, e.g. _include=Appointment:patient.
Example: "Appointment:patient"
- `patient` (string)
Include related patient resources, e.g. patient=Patient/[id]&.
Example: "patient=Patient/[id]&"
- `_revinclude` (string)
Reverse include related resources, e.g. _revinclude=Observation:subject.
Example: "Observation:subject"
- `_has` (string)
Reverse chaining, e.g. _has:Observation:subject:code=http://loinc.org|1234-5.
Example: "Observation:subject:code=http://loinc.org|1234-5"
- `_tag` (string)
Search by tag on the resource meta, e.g. _tag=http://example.org/tags|sample-tag.
Example: "http://example.org/tags|sample-tag"
- `_security` (string)
Search by security label on resource meta, e.g. _security=RBAC|CONFIDENTIAL.
Example: "RBAC|CONFIDENTIAL"
- `_profile` (string)
Search by profile in resource meta, e.g. _profile=http://example.org/fhir/StructureDefinition/custom-profile.
Example: "http://example.org/fhir/StructureDefinition/custom-profile"
## Response 200 fields (application/json):
- `resourceType` (any, required)
This is a Bundle resource
Enum: "Bundle"
- `id` (string)
Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.
Example: "example-id"
- `meta` (object)
The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
- `meta.id` (string)
An extension object type #string.
Example: "example-string"
- `meta.extension` (array)
May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
- `meta.versionId` (object)
An extension object type #id.
- `meta._versionId` (object)
An extension object type #Element.
- `meta.lastUpdated` (object)
An extension object type #instant.
- `meta._lastUpdated` (object)
An extension object type #Element.
- `meta.source` (string)
An extension object type #uri.
Example: "https://example.org/resource"
- `meta._source` (object)
An extension object type #Element.
- `meta.profile` (array)
A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].
Example: ["http://example.org/Profile"]
- `meta.security` (array)
Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
- `meta.tag` (array)
Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
- `implicitRules` (string)
String of characters used to identify a name or a resource
Example: "https://example.org/resource"
- `_implicitRules` (object)
Base definition for all elements in a resource.
- `language` (string)
A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
Example: "sample-code"
- `_language` (object)
Base definition for all elements in a resource.
- `identifier` (object)
An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
- `identifier.use` (any)
The purpose of this identifier.
Enum: "usual", "official", "temp", "secondary", "old"
- `identifier._use` (object)
An extension object type #Element.
- `identifier.type` (object)
An extension object type #CodeableConcept.
- `identifier.system` (string)
An extension object type #uri.
Example: "https://example.org/resource"
- `identifier._system` (object)
An extension object type #Element.
- `identifier.value` (string)
An extension object type #string.
Example: "example-string"
- `identifier._value` (object)
An extension object type #Element.
- `identifier.period` (object)
An extension object type #Period.
- `identifier.assigner` (object)
An extension object type #Reference.
- `type` (any)
Indicates the purpose of this bundle - how it is intended to be used.
Enum: "document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"
- `_type` (object)
Base definition for all elements in a resource.
- `timestamp` (string)
An instant in time - known at least to the second
Example: "2024-01-01T00:00:00Z"
- `_timestamp` (object)
Base definition for all elements in a resource.
- `total` (number)
An integer with a value that is not negative (e.g. >= 0)
- `_total` (object)
Base definition for all elements in a resource.
- `link` (array)
A series of links that provide context to this bundle.
Example: [{"relation":"search","url":"https://api.heydonto.com/fhir/provenance/?_count=20"},{"relation":"next","url":"https://api.heydonto.com/fhir/provenance/?_count=20&_page_token=TOKEN"},{"relation":"first","url":"https://api.heydonto.com/fhir/provenance/?_count=20"},{"relation":"self","url":"https://api.heydonto.com/fhir/provenance/?_count=20"}]
- `link.modifierExtension` (array)
May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
- `link.relation` (string)
An extension object type #string.
Example: "example-string"
- `link._relation` (object)
An extension object type #Element.
- `link.url` (string)
An extension object type #uri.
Example: "https://example.org/resource"
- `link._url` (object)
An extension object type #Element.
- `entry` (array)
An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
Example: [{"resourceType":"Provenance","id":"example","text":{"status":"generated","div":"
procedure record authored on 27-June 2015 by Harold Hippocrates, MD Content extracted from XDS managed CDA Referral received 26-June as authorized by a referenced Consent.
"},"target":[{"reference":"Procedure/example/_history/1"}],"occurredPeriod":{"start":"2015-06-27","end":"2015-06-28"},"recorded":"2015-06-27T08:39:24+10:00","policy":["http://acme.com/fhir/Consent/25"],"location":{"reference":"Location/1"},"reason":[{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}],"agent":[{"type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-ParticipationType","code":"AUT"}]},"who":{"reference":"Practitioner/xcda-author"}},{"id":"a1","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-ParticipationType","code":"DEV"}]},"who":{"reference":"Device/software"}}],"entity":[{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]}]
- `entry.resourceType` (any, required)
This is a Provenance resource
Enum: "Provenance"
- `entry.text` (object)
A human-readable summary of the resource conveying the essential clinical and business information for the resource.
- `entry.text.status` (any)
The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.
Enum: "generated", "extensions", "additional", "empty"
- `entry.text._status` (object)
An extension object type #Element.
- `entry.text.div` (string, required)
An extension object type #xhtml.
Example: "Example
"
- `entry.contained` (array)
These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
- `entry.extension` (array)
May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
- `entry.extension.valueBase64Binary` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "U2FtcGxl"
- `entry.extension._valueBase64Binary` (object)
An extension object type #Element.
- `entry.extension.valueBoolean` (boolean)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: true
- `entry.extension._valueBoolean` (object)
An extension object type #Element.
- `entry.extension.valueCanonical` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "http://example.org/Profile"
- `entry.extension._valueCanonical` (object)
An extension object type #Element.
- `entry.extension.valueCode` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "sample-code"
- `entry.extension._valueCode` (object)
An extension object type #Element.
- `entry.extension.valueDate` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "2024-01-01"
- `entry.extension._valueDate` (object)
An extension object type #Element.
- `entry.extension.valueDateTime` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "2024-01-01T00:00:00Z"
- `entry.extension._valueDateTime` (object)
An extension object type #Element.
- `entry.extension.valueDecimal` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: 1.23
- `entry.extension._valueDecimal` (object)
An extension object type #Element.
- `entry.extension.valueId` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "example-id"
- `entry.extension._valueId` (object)
An extension object type #Element.
- `entry.extension.valueInstant` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "2024-01-01T00:00:00Z"
- `entry.extension._valueInstant` (object)
An extension object type #Element.
- `entry.extension.valueInteger` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: 1
- `entry.extension._valueInteger` (object)
An extension object type #Element.
- `entry.extension.valueMarkdown` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "Sample markdown text"
- `entry.extension._valueMarkdown` (object)
An extension object type #Element.
- `entry.extension.valueOid` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "urn:oid:1.2.3.4.5"
- `entry.extension._valueOid` (object)
An extension object type #Element.
- `entry.extension.valuePositiveInt` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: 1
- `entry.extension._valuePositiveInt` (object)
An extension object type #Element.
- `entry.extension.valueString` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "example-string"
- `entry.extension._valueString` (object)
An extension object type #Element.
- `entry.extension.valueTime` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "12:00:00"
- `entry.extension._valueTime` (object)
An extension object type #Element.
- `entry.extension.valueUnsignedInt` (number)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
- `entry.extension._valueUnsignedInt` (object)
An extension object type #Element.
- `entry.extension.valueUri` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "https://example.org/resource"
- `entry.extension._valueUri` (object)
An extension object type #Element.
- `entry.extension.valueUrl` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "https://example.org"
- `entry.extension._valueUrl` (object)
An extension object type #Element.
- `entry.extension.valueUuid` (string)
Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list).
Example: "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
- `entry.extension._valueUuid` (object)
An extension object type #Element.
- `entry.extension.valueAddress` (object)
An extension object type #Address.
- `entry.extension.valueAge` (object)
An extension object type #Age.
- `entry.extension.valueAnnotation` (object)
An extension object type #Annotation.
- `entry.extension.valueAttachment` (object)
An extension object type #Attachment.
- `entry.extension.valueCodeableConcept` (object)
An extension object type #CodeableConcept.
- `entry.extension.valueCoding` (object)
An extension object type #Coding.
- `entry.extension.valueContactPoint` (object)
An extension object type #ContactPoint.
- `entry.extension.valueCount` (object)
An extension object type #Count.
- `entry.extension.valueDistance` (object)
An extension object type #Distance.
- `entry.extension.valueDuration` (object)
An extension object type #Duration.
- `entry.extension.valueHumanName` (object)
An extension object type #HumanName.
- `entry.extension.valueIdentifier` (object)
An extension object type #Identifier.
- `entry.extension.valueMoney` (object)
An extension object type #Money.
- `entry.extension.valuePeriod` (object)
An extension object type #Period.
- `entry.extension.valueQuantity` (object)
An extension object type #Quantity.
- `entry.extension.valueRange` (object)
An extension object type #Range.
- `entry.extension.valueRatio` (object)
An extension object type #Ratio.
- `entry.extension.valueReference` (object)
An extension object type #Reference.
- `entry.extension.valueSampledData` (object)
An extension object type #SampledData.
- `entry.extension.valueSignature` (object)
An extension object type #Signature.
- `entry.extension.valueTiming` (object)
An extension object type #Timing.
- `entry.extension.valueContactDetail` (object)
An extension object type #ContactDetail.
- `entry.extension.valueContributor` (object)
An extension object type #Contributor.
- `entry.extension.valueDataRequirement` (object)
An extension object type #DataRequirement.
- `entry.extension.valueExpression` (object)
An extension object type #Expression.
- `entry.extension.valueParameterDefinition` (object)
An extension object type #ParameterDefinition.
- `entry.extension.valueRelatedArtifact` (object)
An extension object type #RelatedArtifact.
- `entry.extension.valueTriggerDefinition` (object)
An extension object type #TriggerDefinition.
- `entry.extension.valueUsageContext` (object)
An extension object type #UsageContext.
- `entry.extension.valueDosage` (object)
An extension object type #Dosage.
- `entry.extension.valueMeta` (object)
An extension object type #Meta.
- `entry.modifierExtension` (array)
May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
- `entry.target` (array, required)
The Reference(s) that were generated or updated by the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity.
Example: [{"reference":"Procedure/example/_history/1"}]
- `entry.target.reference` (string)
An extension object type #string.
Example: "example-string"
- `entry.target._reference` (object)
An extension object type #Element.
- `entry.target.type` (string)
An extension object type #uri.
Example: "https://example.org/resource"
- `entry.target._type` (object)
An extension object type #Element.
- `entry.target.identifier` (object)
An extension object type #Identifier.
- `entry.target.display` (string)
An extension object type #string.
Example: "example-string"
- `entry.target._display` (object)
An extension object type #Element.
- `entry.occurredPeriod` (object)
A time period defined by a start and end date and optionally time.
- `entry.occurredPeriod.start` (string)
An extension object type #dateTime.
Example: "2024-01-01T00:00:00Z"
- `entry.occurredPeriod._start` (object)
An extension object type #Element.
- `entry.occurredPeriod.end` (string)
An extension object type #dateTime.
Example: "2024-01-01T00:00:00Z"
- `entry.occurredPeriod._end` (object)
An extension object type #Element.
- `entry.occurredDateTime` (string)
The period during which the activity occurred.
Example: "example-string"
- `entry._occurredDateTime` (object)
Base definition for all elements in a resource.
- `entry.recorded` (string)
An instant in time - known at least to the second
Example: "2024-01-01T00:00:00Z"
- `entry._recorded` (object)
Base definition for all elements in a resource.
- `entry.policy` (array)
Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc.
Example: ["http://acme.com/fhir/Consent/25"]
- `entry._policy` (array)
Extensions for policy
- `entry.location` (object)
A reference from one resource to another.
- `entry.reason` (array)
The reason that the activity was taking place.
Example: [{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}]
- `entry.reason.coding` (array)
A reference to a code defined by a terminology system.
- `entry.reason.text` (string)
An extension object type #string.
Example: "example-string"
- `entry.reason._text` (object)
An extension object type #Element.
- `entry.activity` (object)
A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
- `entry.agent` (array, required)
An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.
Example: [{"type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-ParticipationType","code":"AUT"}]},"who":{"reference":"Practitioner/xcda-author"}},{"id":"a1","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-ParticipationType","code":"DEV"}]},"who":{"reference":"Device/software"}}]
- `entry.agent.role` (array)
The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.
- `entry.agent.who` (object, required)
An extension object type #Reference.
- `entry.agent.onBehalfOf` (object)
An extension object type #Reference.
- `entry.entity` (array)
An entity used in this activity.
Example: [{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]
- `entry.entity.role` (any)
How the entity was used during the activity.
Enum: "derivation", "revision", "quotation", "source", "removal"
- `entry.entity._role` (object)
An extension object type #Element.
- `entry.entity.what` (object, required)
An extension object type #Reference.
- `entry.entity.agent` (array)
The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity.
- `entry.signature` (array)
A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.
- `entry.signature.type` (array, required)
An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document.
- `entry.signature.when` (object)
An extension object type #instant.
- `entry.signature._when` (object)
An extension object type #Element.
- `entry.signature.targetFormat` (string)
An extension object type #code.
Example: "sample-code"
- `entry.signature._targetFormat` (object)
An extension object type #Element.
- `entry.signature.sigFormat` (string)
An extension object type #code.
Example: "sample-code"
- `entry.signature._sigFormat` (object)
An extension object type #Element.
- `entry.signature.data` (string)
An extension object type #base64Binary.
Example: "U2FtcGxl"
- `entry.signature._data` (object)
An extension object type #Element.
- `signature` (object)
A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.
## Response 401 fields (application/json):
- `message` (string, required)
Error message indicating unauthorized access.
Example: "Unauthorized"
- `statusCode` (number, required)
HTTP status code for unauthorized access.
Example: 401