Skip to content

HeyDonto FHIR R4 API Documentation (1.0)

API documentation for HeyDonto API users

Overview
Languages
Servers
Mock server

https://docs.heydonto.com/_mock/apis/fhir/openapi/

Sandbox

https://api-staging.heydonto.com/

Production

https://api.heydonto.com/

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

Query
_countnumber

Number of items to return (default=20).

Example: _count=10
_page_tokenstring

Token for fetching the next page of results.

Example: _page_token=CgYK...
_sortstring

Sort the results by a given field, e.g. _sort=family or _sort=-date.

Example: _sort=family
_elementsstring

Restrict returned fields, e.g. _elements=identifier,name.

Example: _elements=identifier,name
telecomstring

Filter by resource telecom, e.g. date=[SYSTEM]|[VALUE].

Example: telecom=telecom=phone|555-555-5555
_idstring

Search for a specific resource by ID, e.g. _id=abc123.

Example: _id=abc123
identifierstring

Search for resources by identifier token, e.g. identifier=http://hospital.org|12345.

Example: identifier=http://hospital.org|12345
_includestring

Include related resources, e.g. _include=Appointment:patient.

Example: _include=Appointment:patient
patientstring

Include related patient resources, e.g. patient=Patient/[id]&.

Example: patient=patient=Patient/[id]&
_revincludestring

Reverse include related resources, e.g. _revinclude=Observation:subject.

Example: _revinclude=Observation:subject
_hasstring

Reverse chaining, e.g. _has:Observation:subject:code=http://loinc.org|1234-5.

Example: _has=Observation:subject:code=http://loinc.org|1234-5
_tagstring

Search by tag on the resource meta, e.g. _tag=http://example.org/tags|sample-tag.

Example: _tag=http://example.org/tags|sample-tag
_securitystring

Search by security label on resource meta, e.g. _security=RBAC|CONFIDENTIAL.

Example: _security=RBAC|CONFIDENTIAL
_profilestring

Search by profile in resource meta, e.g. _profile=http://example.org/fhir/StructureDefinition/custom-profile.

Example: _profile=http://example.org/fhir/StructureDefinition/custom-profile
curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/provenance?_count=10&_page_token=CgYK...&_sort=family&_elements=identifier%2Cname&telecom=telecom%3Dphone%2C555-555-5555&_id=abc123&identifier=http%3A%2F%2Fhospital.org%2C12345&_include=Appointment%3Apatient&patient=patient%3DPatient%2F%5Bid%5D%26&_revinclude=Observation%3Asubject&_has=Observation%3Asubject%3Acode%3Dhttp%3A%2F%2Floinc.org%2C1234-5&_tag=http%3A%2F%2Fexample.org%2Ftags%2Csample-tag&_security=RBAC%2CCONFIDENTIAL&_profile=http%3A%2F%2Fexample.org%2Ffhir%2FStructureDefinition%2Fcustom-profile' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
Example: "Bundle"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

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"
metaobject(Meta)

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.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

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"
_languageobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

typeany

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"
Example: "searchset"
_typeobject(Element)

Base definition for all elements in a resource.

timestampstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_timestampobject(Element)

Base definition for all elements in a resource.

totalnumber(unsignedInt)^[0]|([1-9][0-9]*)$

An integer with a value that is not negative (e.g. >= 0)

Example: 0
_totalobject(Element)

Base definition for all elements in a resource.

linkArray of objects(Bundle_Link)

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"}]
entryArray of objects(Provenance)

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":"<div xmlns=\"http://www.w3.org/1999/xhtml\">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.</div>"},"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"}}]}]
signatureobject(Signature)

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
application/json
{ "resourceType": "Bundle", "type": "searchset", "total": 100, "link": [ { … }, { … }, { … }, { … } ], "entry": [ { … } ] }

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a Provenance resource

Value"Provenance"
Example: "Provenance"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

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"
metaobject(Meta)

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.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

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"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

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.

extensionArray of objects(Extension)

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.

modifierExtensionArray of objects(Extension)

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).

targetArray of objects(Reference)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"}]
target[].​idstring

An extension object type #string.

Example: "example-string"
target[].​extensionArray of objects(#Extension)

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.

target[].​referencestring

An extension object type #string.

Example: "example-string"
target[].​_referenceobject(#Element)

An extension object type #Element.

target[].​typestring

An extension object type #uri.

Example: "https://example.org/resource"
target[].​_typeobject(#Element)

An extension object type #Element.

target[].​identifierobject(#Identifier)

An extension object type #Identifier.

target[].​displaystring

An extension object type #string.

Example: "example-string"
target[].​_displayobject(#Element)

An extension object type #Element.

occurredPeriodobject(Period)

A time period defined by a start and end date and optionally time.

occurredDateTimestring^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

The period during which the activity occurred.

Example: "example-string"
_occurredDateTimeobject(Element)

Base definition for all elements in a resource.

recordedstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_recordedobject(Element)

Base definition for all elements in a resource.

policyArray of strings(uri)

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"]
_policyArray of objects(Element)

Extensions for policy

locationobject(Reference)

A reference from one resource to another.

reasonArray of objects(CodeableConcept)

The reason that the activity was taking place.

Example: [{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}]
activityobject(CodeableConcept)

A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

agentArray of objects(Provenance_Agent)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"}}]
agent[].​idstring

An extension object type #string.

Example: "example-string"
agent[].​extensionArray of objects(#Extension)

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.

agent[].​modifierExtensionArray of objects(#Extension)

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).

agent[].​typeobject(#CodeableConcept)

An extension object type #CodeableConcept.

agent[].​roleArray of objects(#CodeableConcept)

The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.

agent[].​whoobject(#Reference)required

An extension object type #Reference.

agent[].​onBehalfOfobject(#Reference)

An extension object type #Reference.

entityArray of objects(Provenance_Entity)

An entity used in this activity.

Example: [{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]
signatureArray of objects(Signature)

A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.

curl -i -X POST \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/provenance' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "resourceType": "Provenance",
    "id": "example",
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">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.</div>"
    },
    "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"
        }
      }
    ]
  }'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Provenance resource

Value"Provenance"
Example: "Provenance"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

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"
metaobject(Meta)

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.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

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"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

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.

extensionArray of objects(Extension)

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.

modifierExtensionArray of objects(Extension)

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).

targetArray of objects(Reference)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"}]
target[].​idstring

An extension object type #string.

Example: "example-string"
target[].​extensionArray of objects(#Extension)

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.

target[].​referencestring

An extension object type #string.

Example: "example-string"
target[].​_referenceobject(#Element)

An extension object type #Element.

target[].​typestring

An extension object type #uri.

Example: "https://example.org/resource"
target[].​_typeobject(#Element)

An extension object type #Element.

target[].​identifierobject(#Identifier)

An extension object type #Identifier.

target[].​displaystring

An extension object type #string.

Example: "example-string"
target[].​_displayobject(#Element)

An extension object type #Element.

occurredPeriodobject(Period)

A time period defined by a start and end date and optionally time.

occurredDateTimestring^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

The period during which the activity occurred.

Example: "example-string"
_occurredDateTimeobject(Element)

Base definition for all elements in a resource.

recordedstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_recordedobject(Element)

Base definition for all elements in a resource.

policyArray of strings(uri)

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"]
_policyArray of objects(Element)

Extensions for policy

locationobject(Reference)

A reference from one resource to another.

reasonArray of objects(CodeableConcept)

The reason that the activity was taking place.

Example: [{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}]
activityobject(CodeableConcept)

A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

agentArray of objects(Provenance_Agent)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"}}]
agent[].​idstring

An extension object type #string.

Example: "example-string"
agent[].​extensionArray of objects(#Extension)

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.

agent[].​modifierExtensionArray of objects(#Extension)

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).

agent[].​typeobject(#CodeableConcept)

An extension object type #CodeableConcept.

agent[].​roleArray of objects(#CodeableConcept)

The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.

agent[].​whoobject(#Reference)required

An extension object type #Reference.

agent[].​onBehalfOfobject(#Reference)

An extension object type #Reference.

entityArray of objects(Provenance_Entity)

An entity used in this activity.

Example: [{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]
signatureArray of objects(Signature)

A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.

Response
application/json
{ "resourceType": "Provenance", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">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.</div>" }, "target": [ { … } ], "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": [ { … } ], "agent": [ { … }, { … } ], "entity": [ { … } ] }

Request

Security
bearer or bearer
Path
idstringrequired

ID of the Provenance

siteIdstringrequired

Site identifier

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/provenance/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Provenance resource

Value"Provenance"
Example: "Provenance"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

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"
metaobject(Meta)

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.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

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"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

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.

extensionArray of objects(Extension)

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.

modifierExtensionArray of objects(Extension)

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).

targetArray of objects(Reference)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"}]
target[].​idstring

An extension object type #string.

Example: "example-string"
target[].​extensionArray of objects(#Extension)

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.

target[].​referencestring

An extension object type #string.

Example: "example-string"
target[].​_referenceobject(#Element)

An extension object type #Element.

target[].​typestring

An extension object type #uri.

Example: "https://example.org/resource"
target[].​_typeobject(#Element)

An extension object type #Element.

target[].​identifierobject(#Identifier)

An extension object type #Identifier.

target[].​displaystring

An extension object type #string.

Example: "example-string"
target[].​_displayobject(#Element)

An extension object type #Element.

occurredPeriodobject(Period)

A time period defined by a start and end date and optionally time.

occurredDateTimestring^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

The period during which the activity occurred.

Example: "example-string"
_occurredDateTimeobject(Element)

Base definition for all elements in a resource.

recordedstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_recordedobject(Element)

Base definition for all elements in a resource.

policyArray of strings(uri)

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"]
_policyArray of objects(Element)

Extensions for policy

locationobject(Reference)

A reference from one resource to another.

reasonArray of objects(CodeableConcept)

The reason that the activity was taking place.

Example: [{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}]
activityobject(CodeableConcept)

A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

agentArray of objects(Provenance_Agent)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"}}]
agent[].​idstring

An extension object type #string.

Example: "example-string"
agent[].​extensionArray of objects(#Extension)

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.

agent[].​modifierExtensionArray of objects(#Extension)

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).

agent[].​typeobject(#CodeableConcept)

An extension object type #CodeableConcept.

agent[].​roleArray of objects(#CodeableConcept)

The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.

agent[].​whoobject(#Reference)required

An extension object type #Reference.

agent[].​onBehalfOfobject(#Reference)

An extension object type #Reference.

entityArray of objects(Provenance_Entity)

An entity used in this activity.

Example: [{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]
signatureArray of objects(Signature)

A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.

Response
application/json
{ "resourceType": "Provenance", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">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.</div>" }, "target": [ { … } ], "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": [ { … } ], "agent": [ { … }, { … } ], "entity": [ { … } ] }

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

idstringrequired

ID of the Provenance to update

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a Provenance resource

Value"Provenance"
Example: "Provenance"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

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"
metaobject(Meta)

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.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

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"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

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.

extensionArray of objects(Extension)

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.

modifierExtensionArray of objects(Extension)

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).

targetArray of objects(Reference)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"}]
target[].​idstring

An extension object type #string.

Example: "example-string"
target[].​extensionArray of objects(#Extension)

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.

target[].​referencestring

An extension object type #string.

Example: "example-string"
target[].​_referenceobject(#Element)

An extension object type #Element.

target[].​typestring

An extension object type #uri.

Example: "https://example.org/resource"
target[].​_typeobject(#Element)

An extension object type #Element.

target[].​identifierobject(#Identifier)

An extension object type #Identifier.

target[].​displaystring

An extension object type #string.

Example: "example-string"
target[].​_displayobject(#Element)

An extension object type #Element.

occurredPeriodobject(Period)

A time period defined by a start and end date and optionally time.

occurredDateTimestring^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

The period during which the activity occurred.

Example: "example-string"
_occurredDateTimeobject(Element)

Base definition for all elements in a resource.

recordedstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_recordedobject(Element)

Base definition for all elements in a resource.

policyArray of strings(uri)

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"]
_policyArray of objects(Element)

Extensions for policy

locationobject(Reference)

A reference from one resource to another.

reasonArray of objects(CodeableConcept)

The reason that the activity was taking place.

Example: [{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}]
activityobject(CodeableConcept)

A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

agentArray of objects(Provenance_Agent)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"}}]
agent[].​idstring

An extension object type #string.

Example: "example-string"
agent[].​extensionArray of objects(#Extension)

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.

agent[].​modifierExtensionArray of objects(#Extension)

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).

agent[].​typeobject(#CodeableConcept)

An extension object type #CodeableConcept.

agent[].​roleArray of objects(#CodeableConcept)

The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.

agent[].​whoobject(#Reference)required

An extension object type #Reference.

agent[].​onBehalfOfobject(#Reference)

An extension object type #Reference.

entityArray of objects(Provenance_Entity)

An entity used in this activity.

Example: [{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]
signatureArray of objects(Signature)

A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.

curl -i -X PUT \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/provenance/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "resourceType": "Provenance",
    "id": "example",
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">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.</div>"
    },
    "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"
        }
      }
    ]
  }'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Provenance resource

Value"Provenance"
Example: "Provenance"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

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"
metaobject(Meta)

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.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

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"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

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.

extensionArray of objects(Extension)

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.

modifierExtensionArray of objects(Extension)

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).

targetArray of objects(Reference)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"}]
target[].​idstring

An extension object type #string.

Example: "example-string"
target[].​extensionArray of objects(#Extension)

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.

target[].​referencestring

An extension object type #string.

Example: "example-string"
target[].​_referenceobject(#Element)

An extension object type #Element.

target[].​typestring

An extension object type #uri.

Example: "https://example.org/resource"
target[].​_typeobject(#Element)

An extension object type #Element.

target[].​identifierobject(#Identifier)

An extension object type #Identifier.

target[].​displaystring

An extension object type #string.

Example: "example-string"
target[].​_displayobject(#Element)

An extension object type #Element.

occurredPeriodobject(Period)

A time period defined by a start and end date and optionally time.

occurredDateTimestring^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

The period during which the activity occurred.

Example: "example-string"
_occurredDateTimeobject(Element)

Base definition for all elements in a resource.

recordedstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_recordedobject(Element)

Base definition for all elements in a resource.

policyArray of strings(uri)

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"]
_policyArray of objects(Element)

Extensions for policy

locationobject(Reference)

A reference from one resource to another.

reasonArray of objects(CodeableConcept)

The reason that the activity was taking place.

Example: [{"coding":[{"system":"http://snomed.info/sct","code":"3457005","display":"Referral"}]}]
activityobject(CodeableConcept)

A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

agentArray of objects(Provenance_Agent)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"}}]
agent[].​idstring

An extension object type #string.

Example: "example-string"
agent[].​extensionArray of objects(#Extension)

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.

agent[].​modifierExtensionArray of objects(#Extension)

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).

agent[].​typeobject(#CodeableConcept)

An extension object type #CodeableConcept.

agent[].​roleArray of objects(#CodeableConcept)

The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.

agent[].​whoobject(#Reference)required

An extension object type #Reference.

agent[].​onBehalfOfobject(#Reference)

An extension object type #Reference.

entityArray of objects(Provenance_Entity)

An entity used in this activity.

Example: [{"role":"source","what":{"reference":"DocumentReference/example","display":"CDA Document in XDS repository"}}]
signatureArray of objects(Signature)

A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.

Response
application/json
{ "resourceType": "Provenance", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">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.</div>" }, "target": [ { … } ], "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": [ { … } ], "agent": [ { … }, { … } ], "entity": [ { … } ] }

Request

Security
bearer or bearer
Path
idstringrequired

ID of the Provenance to delete

siteIdstringrequired

Site identifier

curl -i -X DELETE \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/provenance/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Provenance successfully deleted

Bodyapplication/json
statusTextstringrequired
Example: "OK"
statusnumberrequired
Example: 200
Response
application/json
{ "statusText": "OK", "status": 200 }

Get FHIR r4 provenance history by ID

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

idstringrequired

ID of the Provenance

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/openapi/site/{siteId}/fhir/provenance/{id}/history' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
Example: "Bundle"
typeanyrequired

Indicates that this is a history bundle.

Value"history"
Example: "history"
entryArray of objectsrequired

A list of entries representing historical versions of the resource.

entry[].​fullUrlstringrequired
Example: "https://api.heydonto.com/provenance/6eca4369-7183-446e-bab7-addc609972d3"
entry[].​requestobjectrequired
entry[].​request.​methodstring
Enum"PUT""POST"
Example: "PUT"
entry[].​request.​urlstring
Example: "https://api.heydonto.com/provenance/6eca4369-7183-446e-bab7-addc609972d3"
entry[].​resourceobjectrequired
Example: {"resourceType":"Resource","id":"example"}
entry[].​responseobjectrequired
entry[].​response.​lastModifiedstring(date-time)
Example: "2024-10-29T01:05:22.739517+00:00"
entry[].​response.​locationstring
Example: "https://api.heydonto.com/provenance/6eca4369-7183-446e-bab7-addc609972d3/_history/MTczMDE2MzkyMjczOTUxNzAwMA"
entry[].​response.​statusstring
Example: "200 OK"
totalintegerrequired
Example: 2
Response
application/json
{ "resourceType": "Bundle", "type": "history", "entry": [ { … } ], "total": 2 }
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations