# Generated from FHIR 4.0.1-9346c8cc45 (http://hl7.org/fhir/StructureDefinition/MessageDefinition). # 2024, SMART Health IT. from . import domainresource class MessageDefinition(domainresource.DomainResource): """ A resource that defines a type of message that can be exchanged between systems. Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. """ resource_type = "MessageDefinition" def __init__(self, jsondict=None, strict=True): """ Initialize all valid properties. :raises: FHIRValidationError on validation errors, unless strict is False :param dict jsondict: A JSON dictionary to use for initialization :param bool strict: If True (the default), invalid variables will raise a TypeError """ self.allowedResponse = None """ Responses to this message. List of `MessageDefinitionAllowedResponse` items (represented as `dict` in JSON). """ self.base = None """ Definition this one is based on. Type `str`. """ self.category = None """ consequence | currency | notification. Type `str`. """ self.contact = None """ Contact details for the publisher. List of `ContactDetail` items (represented as `dict` in JSON). """ self.copyright = None """ Use and/or publishing restrictions. Type `str`. """ self.date = None """ Date last changed. Type `FHIRDateTime` (represented as `str` in JSON). """ self.description = None """ Natural language description of the message definition. Type `str`. """ self.eventCoding = None """ Event code or link to the EventDefinition. Type `Coding` (represented as `dict` in JSON). """ self.eventUri = None """ Event code or link to the EventDefinition. Type `str`. """ self.experimental = None """ For testing purposes, not real usage. Type `bool`. """ self.focus = None """ Resource(s) that are the subject of the event. List of `MessageDefinitionFocus` items (represented as `dict` in JSON). """ self.graph = None """ Canonical reference to a GraphDefinition. List of `str` items. """ self.identifier = None """ Primary key for the message definition on a given server. List of `Identifier` items (represented as `dict` in JSON). """ self.jurisdiction = None """ Intended jurisdiction for message definition (if applicable). List of `CodeableConcept` items (represented as `dict` in JSON). """ self.name = None """ Name for this message definition (computer friendly). Type `str`. """ self.parent = None """ Protocol/workflow this is part of. List of `str` items. """ self.publisher = None """ Name of the publisher (organization or individual). Type `str`. """ self.purpose = None """ Why this message definition is defined. Type `str`. """ self.replaces = None """ Takes the place of. List of `str` items. """ self.responseRequired = None """ always | on-error | never | on-success. Type `str`. """ self.status = None """ draft | active | retired | unknown. Type `str`. """ self.title = None """ Name for this message definition (human friendly). Type `str`. """ self.url = None """ Business Identifier for a given MessageDefinition. Type `str`. """ self.useContext = None """ The context that the content is intended to support. List of `UsageContext` items (represented as `dict` in JSON). """ self.version = None """ Business version of the message definition. Type `str`. """ super(MessageDefinition, self).__init__(jsondict=jsondict, strict=strict) def elementProperties(self): js = super(MessageDefinition, self).elementProperties() js.extend([ ("allowedResponse", "allowedResponse", MessageDefinitionAllowedResponse, True, None, False), ("base", "base", str, False, None, False), ("category", "category", str, False, None, False), ("contact", "contact", contactdetail.ContactDetail, True, None, False), ("copyright", "copyright", str, False, None, False), ("date", "date", fhirdatetime.FHIRDateTime, False, None, True), ("description", "description", str, False, None, False), ("eventCoding", "eventCoding", coding.Coding, False, "event", True), ("eventUri", "eventUri", str, False, "event", True), ("experimental", "experimental", bool, False, None, False), ("focus", "focus", MessageDefinitionFocus, True, None, False), ("graph", "graph", str, True, None, False), ("identifier", "identifier", identifier.Identifier, True, None, False), ("jurisdiction", "jurisdiction", codeableconcept.CodeableConcept, True, None, False), ("name", "name", str, False, None, False), ("parent", "parent", str, True, None, False), ("publisher", "publisher", str, False, None, False), ("purpose", "purpose", str, False, None, False), ("replaces", "replaces", str, True, None, False), ("responseRequired", "responseRequired", str, False, None, False), ("status", "status", str, False, None, True), ("title", "title", str, False, None, False), ("url", "url", str, False, None, False), ("useContext", "useContext", usagecontext.UsageContext, True, None, False), ("version", "version", str, False, None, False), ]) return js from . import backboneelement class MessageDefinitionAllowedResponse(backboneelement.BackboneElement): """ Responses to this message. Indicates what types of messages may be sent as an application-level response to this message. """ resource_type = "MessageDefinitionAllowedResponse" def __init__(self, jsondict=None, strict=True): """ Initialize all valid properties. :raises: FHIRValidationError on validation errors, unless strict is False :param dict jsondict: A JSON dictionary to use for initialization :param bool strict: If True (the default), invalid variables will raise a TypeError """ self.message = None """ Reference to allowed message definition response. Type `str`. """ self.situation = None """ When should this response be used. Type `str`. """ super(MessageDefinitionAllowedResponse, self).__init__(jsondict=jsondict, strict=strict) def elementProperties(self): js = super(MessageDefinitionAllowedResponse, self).elementProperties() js.extend([ ("message", "message", str, False, None, True), ("situation", "situation", str, False, None, False), ]) return js class MessageDefinitionFocus(backboneelement.BackboneElement): """ Resource(s) that are the subject of the event. Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge. """ resource_type = "MessageDefinitionFocus" def __init__(self, jsondict=None, strict=True): """ Initialize all valid properties. :raises: FHIRValidationError on validation errors, unless strict is False :param dict jsondict: A JSON dictionary to use for initialization :param bool strict: If True (the default), invalid variables will raise a TypeError """ self.code = None """ Type of resource. Type `str`. """ self.max = None """ Maximum number of focuses of this type. Type `str`. """ self.min = None """ Minimum number of focuses of this type. Type `int`. """ self.profile = None """ Profile that must be adhered to by focus. Type `str`. """ super(MessageDefinitionFocus, self).__init__(jsondict=jsondict, strict=strict) def elementProperties(self): js = super(MessageDefinitionFocus, self).elementProperties() js.extend([ ("code", "code", str, False, None, True), ("max", "max", str, False, None, False), ("min", "min", int, False, None, True), ("profile", "profile", str, False, None, False), ]) return js from . import codeableconcept from . import coding from . import contactdetail from . import fhirdatetime from . import identifier from . import usagecontext