Package | hl7.fhir.uv.crmi |
Resource Type | OperationDefinition |
Id | crmi-artifact-diff |
FHIR Version | R4 |
Source | http://hl7.org/fhir/uv/crmi/https://build.fhir.org/ig/HL7/crmi-ig/OperationDefinition-crmi-artifact-diff.html |
URL | http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-artifact-diff |
Version | 2.0.0-cibuild |
Status | active |
Date | 2025-07-25T17:10:20+00:00 |
Name | CRMIArtifactDiff |
Title | CRMI Artifact Diff |
Realm | uv |
Authority | hl7 |
Description | Describes the differences between two knowledge artifacts in [FHIR Patch format](https://www.hl7.org/fhir/fhirpatch.html) by recursively resolving dependencies to get a holistic diff. |
Type | false |
Kind | operation |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: OperationDefinition crmi-artifact-diff
URL: [base]/$artifact-diff
Use | Name | Scope | Cardinality | Type | Binding | Documentation |
IN | source | 0..1 | canonical | The canonical reference of the source artifact to compare against | ||
IN | target | 1..1 | canonical | A canonical reference of the target artifact which is being compared. | ||
IN | compareComputable | 0..1 | boolean | Whether or not to compare computable content such as ValueSet.compose.include entries. | ||
IN | compareExecutable | 0..1 | boolean | Whether or not to compare executable content such as ValueSet.expansion.contains entries. | ||
IN | artifactEndpointConfiguration | 0..* | Configuration information to resolve canonical artifacts
Processing semantics: Create a canonical-like reference (e.g.
Rank each
NOTE: For evenly ranked | |||
IN | artifactEndpointConfiguration.artifactRoute | 0..1 | uri | |||
IN | artifactEndpointConfiguration.endpointUri | 0..1 | uri | |||
IN | artifactEndpointConfiguration.endpoint | 0..1 | Endpoint | |||
IN | terminologyEndpoint | 0..1 | Endpoint | An endpoint to use to access terminology (i.e. valuesets, codesystems, naming systems, concept maps, and membership testing) referenced by the resources. If no terminology endpoint is supplied, the server may use whatever mechanism is appropriate for accessing terminology. This could be the server on which the operation is invoked or a third party server accessible to the environment. When a terminology endpoint is provided, the server or third party servers may still be used as fallbacks. | ||
OUT | return | 1..1 | Parameters | The differential in FHIR Patch format. |
The operation is only valid between two resources of the same type and can optionally include expanding all ValueSets in the dependency tree.
{ "resourceType": "OperationDefinition", "id": "crmi-artifact-diff", "text": { "status": "generated", "div": "<!-- snip (see above) -->" }, "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", "valueCode": "cds" } ], "url": "http://hl7.org/fhir/uv/crmi/OperationDefinition/crmi-artifact-diff", "version": "2.0.0-cibuild", "name": "CRMIArtifactDiff", "title": "CRMI Artifact Diff", "status": "active", "kind": "operation", "date": "2025-07-25T17:10:20+00:00", "publisher": "HL7 International / Clinical Decision Support", "contact": [ { "telecom": [ { "system": "url", "value": "http://www.hl7.org/Special/committees/dss" } ] } ], "description": "Describes the differences between two knowledge artifacts in [FHIR Patch format](https://www.hl7.org/fhir/fhirpatch.html) by recursively resolving dependencies to get a holistic diff.", "jurisdiction": [ { "coding": [ { "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "code": "001", "display": "World" } ] } ], "code": "artifact-diff", "comment": "The operation is only valid between two resources of the same type and can optionally include expanding all ValueSets in the dependency tree.", "resource": [ "ActivityDefinition", "CapabilityStatement", "CodeSystem", "CompartmentDefinition", "ConceptMap", "ExampleScenario", "GraphDefinition", "ImplementationGuide", "Library", "Measure", "Medication", "MedicationKnowledge", "MessageDefinition", "NamingSystem", "OperationDefinition", "PlanDefinition", "Questionnaire", "SearchParameter", "StructureDefinition", "StructureMap", "Substance", "TerminologyCapabilities", "TestScript", "ValueSet" ], "system": true, "type": false, "instance": false, "parameter": [ { "name": "source", "use": "in", "min": 0, "max": "1", "documentation": "The canonical reference of the source artifact to compare against", "type": "canonical" }, { "name": "target", "use": "in", "min": 1, "max": "1", "documentation": "A canonical reference of the target artifact which is being compared.", "type": "canonical" }, { "name": "compareComputable", "use": "in", "min": 0, "max": "1", "documentation": "Whether or not to compare computable content such as ValueSet.compose.include entries.", "type": "boolean" }, { "name": "compareExecutable", "use": "in", "min": 0, "max": "1", "documentation": "Whether or not to compare executable content such as ValueSet.expansion.contains entries.", "type": "boolean" }, { "name": "artifactEndpointConfiguration", "use": "in", "min": 0, "max": "*", "documentation": "Configuration information to resolve canonical artifacts\n* `artifactRoute`: An optional route used to determine whether this endpoint is expected to be able to resolve artifacts that match the route (i.e. start with the route, up to and including the entire url)\n* `endpointUri`: The URI of the endpoint, exclusive with the `endpoint` parameter\n* `endpoint`: An Endpoint resource describing the endpoint, exclusive with the `endpointUri` parameter\n\n**Processing semantics**:\n\nCreate a canonical-like reference (e.g.\n`{canonical.url}|{canonical.version}` or similar extensions for non-canonical artifacts).\n\n* Given a single `artifactEndpointConfiguration`\n * When `artifactRoute` is present\n * And `artifactRoute` *starts with* canonical or artifact reference\n * Then attempt to resolve with `endpointUri` or `endpoint`\n * When `artifactRoute` is not present\n * Then attempt to resolve with `endpointUri` or `endpoint`\n* Given multiple `artifactEndpointConfiguration`s\n * Then rank order each configuration (see below)\n * And attempt to resolve with `endpointUri` or `endpoint` in order until resolved\n\nRank each `artifactEndpointConfiguration` such that:\n* if `artifactRoute` is present *and* `artifactRoute` *starts with* canonical or artifact reference: rank based on number of matching characters \n* if `artifactRoute` is *not* present: include but rank lower\n\nNOTE: For evenly ranked `artifactEndpointConfiguration`s, order as defined in the\nOperationDefinition.", "part": [ { "name": "artifactRoute", "use": "in", "min": 0, "max": "1", "type": "uri" }, { "name": "endpointUri", "use": "in", "min": 0, "max": "1", "type": "uri" }, { "name": "endpoint", "use": "in", "min": 0, "max": "1", "type": "Endpoint" } ] }, { "name": "terminologyEndpoint", "use": "in", "min": 0, "max": "1", "documentation": "An endpoint to use to access terminology (i.e. valuesets, codesystems, naming systems, concept maps, and membership testing) referenced by the resources. If no terminology endpoint is supplied, the server may use whatever mechanism is appropriate for accessing terminology. This could be the server on which the operation is invoked or a third party server accessible to the environment. When a terminology endpoint is provided, the server or third party servers may still be used as fallbacks.", "type": "Endpoint" }, { "name": "return", "use": "out", "min": 1, "max": "1", "documentation": "The differential in [FHIR Patch format](https://www.hl7.org/fhir/fhirpatch.html).", "type": "Parameters" } ] }