Making Electronic Data More available for Research and Public Health (MedMorph)
1.0.0 - STU 1

Making Electronic Data More available for Research and Public Health (MedMorph), published by HL7 International - Public Health Work Group. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/HL7/fhir-medmorph/ and changes regularly. See the Directory of published versions

## Extension: US Public Health FHIR Query Pattern Extension

Official URL: http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-fhirquerypattern-extension | Version: 1.0.0
Draft as of 2021-11-08 | Computable Name: USPublicHealthFHIRQueryPatternExtension

Supports communicating the FHIR query for a given data requirement. The query is server-specific, and will need to be created as informed by a CapabilityStatement. The $data-requirements operation should be extended to be able to provide an Endpoint or CapabilityStatement to provide this information. If no endpoint or capability statement is provided, the capability statement of the server performing the operation is used. This is not a resolveable URL, and that it will contain 1) No base canonical (so it’s a relative query), and 2) Parameters using tokens that are denoted using double-braces and the context parameters are dependent solely on the subjectType, according to the following: Patient: context.patientId, Practitioner: context.practitionerId, Organization: context.organizationId, Location: context.locationId, Device: context.deviceId

Context of Use

This extension may be used on the following element(s):

- FHIRPath PlanDefinition.action.input
- FHIRPath PlanDefinition.action.action.input

Usage info

Usage:

- Use this Extension: MedMorph PlanDefinition and US Public Health PlanDefinition
- Examples for this Extension: MedMorphPlanDefinitionExample

### Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

- Text Summary
- Differential Table
- Snapshot Table
- All

This structure is derived from Extension

Summary

Simple Extension of type string: Supports communicating the FHIR query for a given data requirement. The query is server-specific, and will need to be created as informed by a CapabilityStatement. The $data-requirements operation should be extended to be able to provide an Endpoint or CapabilityStatement to provide this information. If no endpoint or capability statement is provided, the capability statement of the server performing the operation is used. This is not a resolveable URL, and that it will contain 1) No base canonical (so it's a relative query), and 2) Parameters using tokens that are denoted using double-braces and the context parameters are dependent solely on the subjectType, according to the following: Patient: context.patientId, Practitioner: context.practitionerId, Organization: context.organizationId, Location: context.locationId, Device: context.deviceId

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | US Public Health FHIR Query Pattern Extension
url |  | 1..1 | uri | "http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-fhirquerypattern-extension"
value[x] |  | 1..1 | string | Value of extension
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | US Public Health FHIR Query Pattern Extension
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-fhirquerypattern-extension"
value[x] |  | 1..1 | string | Value of extension
Documentation for this format

This structure is derived from Extension

Summary

Simple Extension of type string: Supports communicating the FHIR query for a given data requirement. The query is server-specific, and will need to be created as informed by a CapabilityStatement. The $data-requirements operation should be extended to be able to provide an Endpoint or CapabilityStatement to provide this information. If no endpoint or capability statement is provided, the capability statement of the server performing the operation is used. This is not a resolveable URL, and that it will contain 1) No base canonical (so it's a relative query), and 2) Parameters using tokens that are denoted using double-braces and the context parameters are dependent solely on the subjectType, according to the following: Patient: context.patientId, Practitioner: context.practitionerId, Organization: context.organizationId, Location: context.locationId, Device: context.deviceId

Differential View

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | US Public Health FHIR Query Pattern Extension
url |  | 1..1 | uri | "http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-fhirquerypattern-extension"
value[x] |  | 1..1 | string | Value of extension
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | US Public Health FHIR Query Pattern Extension
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-fhirquerypattern-extension"
value[x] |  | 1..1 | string | Value of extension
Documentation for this format

Other representations of profile: CSV, Excel, Schematron

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |