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

## Artifacts Summary

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

### Behavior: Capability Statements

The following artifacts define the specific capabilities that different types of systems are expected to have in order to comply with this implementation guide. Systems conforming to this implementation guide are expected to declare conformance to one or more of the following capability statements.

Knowledge Artifact Repository | This CapabilityStatement defines the expected capabilities of the Knowledge Artifact Repository actor when conforming to the MedMorph RA IG. This actor is responsible for allowing creation, modification, and hosting of the Knowledge Artifacts.
Trusted Third Party (TTP) | This CapabilityStatement defines the expected capabilities of the TTP actor when conforming to the MedMorph RA IG. This actor is responsible for receiving messages and forwarding messages from health care organizations to a public health authority (PHA) or Research Organization (RO) and send responses back from PHA/RO to health care organizations.
Health Data Exchange App (HDEA) Server Application - (MedMorph backend services app) | This CapabilityStatement defines the expected capabilities of the HDEA actor when conforming to the MedMorph RA IG and playing the role of a server that receives messages from Data Receivers using FHIR Messaging.
Example Data Receiver Capability Statement | This example CapabilityStatement defines the expected capabilities of the Data Receiver actor when conforming to the MedMorph RA IG. The actor is responsible for defining Knowledge Artifacts, receiving reports, and submitting responses back to health care organizations. The specific knowlege artifacts, reports and responses to be supported by the Data Receiver will be defined by the Content IGs.
Trust Service Provider | This CapabilityStatement defines the expected capabilities of the Trust Service Provider actor when conforming to the MedMorph RA IG. This actor is responsible for providing trust services. (e.g., Pseudonymization, Anonymization, De-identification, Re-identification).
Example MedMorph Data Source CapabilityStatement | This is an example CapabilityStatement that defines the expected capabilities of the Data Source actor. This CapabilityStatement is an example for Content IG creators on how to create a capability statement for a Data Source actor.
Health Data Exchange App (HDEA) Client Application - (MedMorph backend services app) | This CapabilityStatement defines the expected capabilities of the HDEA actor when conforming to the MedMorph RA IG and playing the role of a client initiating the interactions with both Data Sources and Data Receivers/TTP.

### Behavior: Operation Definitions

These are custom operations that can be supported by and/or invoked by systems conforming to this implementation guide.

Get Knowledge Artifact | The operation is used to retrieve the knowledge artifact associated with the PlanDefinition.
Generate Pseudonymized Bundle | Generates a pseudonymized bundle taking an instance of a Bundle containing PHI/PII data. The pseudonymization algorithm to be used is left to the implementers of the operation.Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter.
Generate Hashed Bundle | Generates a hashed bundle taking an instance of a Bundle containing Protected Health Information (PHI)/personally identifiable information (PII) data. The hashing algorithm to be used is left to the implementers of the operation. Hashing will be used to de-duplicate patient records. Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter.
Generate De-Identified Bundle | Generates a de-identified bundle taking an instance of a Bundle containing PHI/PII data. The de-identification algorithm to be used is left to the implementers of the operation. Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter.
Generate Anonymized Bundle | Generates an anonymized bundle taking an instance of a Bundle containing Protected Health Information (PHI)/personally identifiable information (PII) data. The anonymization algorithm to be used is left to the implementers of the operation.Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter.
Generate Re-Identified Bundle | Generates a re-identified bundle containing PHI/PII data​ ​from an instance of a previously de-identified bundle. When the re-identification algorithm is not specified by the Content IG, implementers can choose specific algorithms based on use case needs and other program/policy requirements.Errors during the execution of the operation can be returned as OperationOutcome per the FHIR spec as a return parameter.

### Structures: Resource Profiles

These define constraints on FHIR resources for systems conforming to this implementation guide.

US Public Health Computable ValueSet | Defines a computable value set as one that SHALL have an expression-based definition (i.e. a value set defined intensionally using expressions of the code systems involved) and MAY have an expansion included. The expression-based definition SHALL be represented in only one of three ways; using the compose element, using the expression extension, or using the rules-text extension to provide a step-by-step process for expanding the value set definition
US Public Health Content Bundle | Bundle Resource profile for organizing the content of the Public Health Message to be exchanged with a Public Health Agency.
US Public Health CodeSystem | This profile describes the US Public Health CodeSystem.
US Public Health Specification Bundle | Bundle Resource profile for exchanging a Knowledge Artifact.
MedMorph PlanDefinition | This PlanDefinition profile defines the logic and rules for creating a specific content IG plan definition instance. This is an example that can be used as a pattern to create other plan definition instances in the content IGs.
US Public Health ValueSet | This profile describes US Public Health value sets.
US Public Health Triggering ValueSet | This profile describes the US Public Health Triggering value set.
MedMorph Encounter End Subscription | This profile describes the US Public Health Encounter End Subscription to be used for MedMorph based plandefinition actions.
US Public Health ValueSet Library | Defines the library containing US Public Health value sets.
US Public Health Supplemental ValueSet Library | Defines the library containing the US Public Health supplemental value sets.
US Public Health MessageHeader | This is the MessageHeader Resource profile for the IG.
US Public Health Computable Library | The computable library profile sets the minimum expectations for a computable CQL library.
US Public Health Executable Library | This profile sets the minimum expectations for an executable CQL library. Specifically, the profile requires that the library contain one of ELM XML or JSON content, the compiled representation of the CQL logic.
US Public Health Supplemental ValueSet | This profile describes the US Public Health Supplemental value set.
MedMorph Encounter Start Subscription | This profile describes the US Public Health Encounter Start Subscription to be used for MedMorph based plandefinition actions.
US Public Health MessageDefinition | This is the MessageDefinition Resource profile for the IG.
US Public Health PlanDefinition | This profile describes the US Public Health PlanDefinition.
US Public Health Response Bundle | Bundle Resource profile for exchanging a public health response to be submitted from a Data Receiver to a Data Source.
US Public Health Executable ValueSet | Defines an executable value set as one that SHALL have an expansion included, as well as a usage warning indicating the expansion is a point-in-time snapshot and must be maintained over time for production usage.
US Public Health Organization | This Organization profile represents an organization involved in public health. It is based on the US Core Organization profile and establishes the core elements, extensions, vocabularies and value sets for representing organizations for public health.
US Public Health Triggering ValueSet Library | Defines the library containing the US Public Health triggering value sets.
US Public Health Reporting Bundle | Bundle Resource profile for exchanging a public health report to be submitted to a PHA.
USPublicHealthEndpoint | This is the Endpoint Resource profile for the IG used to specify receivers addresses

### Structures: Extension Definitions

These define constraints on FHIR data types for systems conforming to this implementation guide.

US Public Health Usage Warning Extension | An extra warning about the correct use of the value set.
US Public Health FHIR Query Pattern Extension | 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
US Public Health Async Indicator Extension | A value of true indicates that the messages resulting from the PlanDefinition are expected to be processed asynchronously
US Public Health Receiver Endpoint | Indicates the endpoint address where the report has to be sent.
US Initiation Type Extension | This Extension profile represents that the report was either manually initiated or alternately initiated by the provider.
US Public Health Trust Service Endpoint | Indicates the endpoint address which implements Trust Services and can be used by specific actions requiring trust services with appropriate authorities and policies.
US Public Health Expected Response Time Extension | Indicates the maximum time the sender has to wait to get a response, beyond which the message is assumed to have failed to reach the destination.
US Public Health Data Encrypted Extension | Indicates whether the data in the content bundle is encrypted or not.
US Public Health CodeSystem Property Binding Extension | A reference to a CodeSystem or ValueSet that establishes the allowable values for a code system property
US Public Health Related Data Extension | The relatedData extension allows indicating that an input to a parent action is an input to specific child actions. It also allows the output of one action to be identified as the input to a different action.
US Public Health Data Encryption Algorithm | Indicates the algorithms that would be acceptable for encryption of the data prior to submitting to the Data Receiver.
US Public Health Named Event Type Extension | Indicates the types of named events to subscribe to from the EHR.
US Public Health Receiver JWKS Url Extension | Indicates the location of the Public Key that needs to be used for encryption when sending data to the receiver.

### Terminology: Value Sets

These define sets of codes used by systems conforming to this implementation guide.

US Public Health Response Message Processing Status Codes | The US Public Health Message Processing Status Codes Value Set is a ‘starter set’ of codes for identifying response message processing status for each message that was previously submitted from clinical care to PHA or Research Organizations.
US Public Health Message Types | The US Public Health Message Types Value Set is a ‘starter set’ of codes for uniquely identifying messages in MessageHeader instances contained within a reporting bundle.
US Public Health Report Initiation Type | The US Public Health Message Types Value Set is a ‘starter set’ of codes to indicate how the messages were initiated within the health care organization.
US Public Health PlanDefinition Action | The US Public Health PlanDefinition Action Value Set is a ‘starter set’ of codes for uniquely identifying actions in PlanDefinition instances.
US Public Health TriggerDefinition NamedEvent | The US Public Health TriggerDefinition NamedEvent Value Set is a ‘starter set’ of codes for uniquely identifying named events in TriggerDefinition instances contained within a PlanDefinition.

### Terminology: Code Systems

These define new code systems used by systems conforming to this implementation guide.

US Public Health PlanDefinition Action Codes | The US Public Health PlanDefinition Actions CodeSystem is a ‘starter set’ of codes supported for identifying actions in PlanDefinition.
US Public Health TriggerDefinition Named Events | The US Public Health TriggerDefinition NamedEvents CodeSystem is a ‘starter set’ of codes supported for identifying named events to subscribe to in clinical workflows.
US Public Health Message Type Codes | The US Public Health Message Header Events CodeSystem is a ‘starter set’ of codes supported for identifying types of messages being exchanged.
US Public Health CodeSystem for Response Message Processing Status Codes | The US Public Health Response Message Processing Status CodeSystem is a ‘starter set’ of codes supported for identifying response message processing status codes.
US Public Health Report Initiation Type Codes | The US Public Health Report Initiation Type CodeSystem is a ‘starter set’ of codes supported for identifying how the message was initiated.
US Public Health CodeSystem for ValueSet Use Context Codes | The US Public Health UseContext CodeSystem is a ‘starter set’ of codes supported for identifying use context codes in ValueSet.

### Example: Example Instances

These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.

Encounter End Subscription Topic Example | Encounter End Subscription Topic Example
Encounter Start Subscription Topic Example | Encounter Start Subscription Topic Example
Patient 1 - Example | An example showing a Patient
Practitioner Example | An example showing a Practitioner
Public Health Organization Example | An example showing a Public Health Organization
Healthcare Organization Example | An example showing a HealthCare Organization
Public Health Organization Endpoint example | An example showing a Public Health Organization Endpoint
Healthcare Organization Endpoint example | An example showing a Healthcare Organization Endpoint
Plan Definition example for MedMorph | An example showing a Plan Definition for reporting use cases
MessageHeader example used in the Cancer Reporting Bundle sent from Healthcare org to PHA | MessageHeader example used in the Cancer Reporting Bundle sent from Healthcare org to PHA
Message Definition example used to define a cancer report message. | Message Definition example used to define a cancer report message.
ValueSet example for Cancer Reporting | An example showing a ValueSet for Cancer reporting
ValueSet example for a Triggering Valueset | An example showing a Triggering Valueset
ValueSet example for a Triggering Valueset Library | An example showing a Triggering Valueset Library
An example for a Supplemental Library | An example showing a Supplemental Library
ValueSet example for a Executable Valueset | An example showing a Executable Valueset
ValueSet example for a US PH Valueset | An example showing a US PH Valueset
ValueSet example for a Computable Valueset | An example showing a Computable Valueset
Example of a Content Bundle containing Patient Data | Example of a Content Bundle containing Patient Data
Example of a Reporting Bundle containing Message Header and Content Bundle | Example of a Reporting Bundle containing Message Header and Content Bundle
Example of a Specification Bundle for a Knowledge Artifact containing a PlanDefinition and ValueSet | Example of a Specification Bundle for a Knowledge Artifact containing a PlanDefinition and ValueSet
Example of a Response Bundle for a submitted message containing a communication resource. | Example of a Response Bundle for a submitted message containing a communication resource.
US Public Health Supplemental Valueset Example | This valueset is a valueset created for the purposes of demonstrating, by example, the US Public Health Supplemental ValueSet profile.
US Public Health Computable Library Example | Description of library
US Public Health Executable Library Example | Description of library
US Public Health ValueSet Library Example | Description of library
US Public Health Usage Context Example | This code system contains codes that identify the use context of a ValueSet or Library.
US Public Health Usage Context | This code system contains codes that identify the use context of a ValueSet or Library.
US Public Health Usage Context Type | This code system contains codes that identify the use context type of a ValueSet or Library.