Provenance

Our FHIR server automatically creates a Provenance resource upon ingestion, with certain fixed properties that capture which 1up user created the resource and time it was created in the FHIR server and a reference to the FHIR resource itself via the Provenance.target attribute. At this time there is no configurability to these auto-generated Provenance resources.
  • This automated racking of Provenance is built into the FHIR Server
  • It helps identify data lineage as well as uncover errors during FHIR resource creation
  • FHIR Provenance Resources are created with version history like other FHIR resources
  • The 3 FHIR exception FHIR resources that do not have Provenance resources created for are: OperationOutcome, AuditEvent, and Provenance (meta we know).
  • Here's an example Provenance:
{
"fullUrl": "https://api.xxxxx.com/r4/Provenance/xxxxxxx1up",
"resource": {
"agent": [
{
"role": [
{
"coding": [
{
"system": "http://hl7.org/fhir/provenance-participant-role",
"code": "author"
}
]
}
],
"onBehalfOf": {
"reference": "https://1up.health/dev/codesystems/user-id/111111"
},
"who": {
"display": "Device/software"
}
},
{
"role": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
"code": "DEV"
}
]
}
],
"onBehalfOf": {
"reference": "https://1up.health/dev/codesystems/oneup-service-id/fhir-r4"
},
"who": {
"display": "Device/software"
}
},
{
"role": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
"code": "DEV"
}
]
}
],
"onBehalfOf": {
"reference": "https://api.xxxxx.com/r4"
},
"id": "https://api.xxxxx.com/r4",
"who": {
"display": "Device/software"
}
}
],
"activity": {
"coding": [
{
"code": "CREATE",
"system": "http://terminology.hl7.org/CodeSystem/v3-DataOperation"
}
]
},
"recorded": "2022-05-03T18:33:13.416Z",
"target": [
{
"reference": "Appointment/zzzzzz1up/_history/9000000000000"
}
],
"meta": {
"lastUpdated": "2022-05-03T18:33:13.417Z",
"versionId": "9000000000000",
"profile": [
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-provenance"
]
},
"id": "xxxxxx1up",
"resourceType": "Provenance"
}
Our FHIR server also allows users to create Provenance resources with whatever properties they want, themselves. This is similar to how you would POST any FHIR resources.

  • We also automatically maintain version history for each FHIR resource on our platform
  • Each time an update is made to a FHIR resource, the version increments, and the lastUpdated attribute updates
Within a given FHIR resource we use the meta array to capture this information, for example:
...
"meta": {
"lastUpdated": "2020-09-18T13:20:22.018Z",
"versionId": "9000000000003"
},
...
You can query specific prior versions of a given FHIR resource to see the changes that have occurred over time
Copy link
On this page
Provenance Resources
History Tracking