{
  "resourceType": "StructureDefinition",
  "id": "Appointment",
  "meta": {
    "lastUpdated": "2021-08-27T10:28:25.15+00:00"
  },
  "url": "http://StructureDefinition.hl7fhir.cn/Appointment",
  "name": "Appointment",
  "title": "预约和号源",
  "status": "draft",
  "description": "用于预约某个时候的医疗服务活动，包括对患者、医护人员、相关人员、设备等的预约。此资源可能引出一次或多次医疗活动，资源的每个实例只能表示单次预约，一组周期性的重复性预约需创建多个预约资源实例来表示。例如，择期手术、临床随访、远程会诊预约、预约检查等等",
  "fhirVersion": "4.0.0",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "ical",
      "uri": "http://ietf.org/rfc/2445",
      "name": "iCalendar"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Appointment",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Appointment",
  "derivation": "constraint",
  "snapshot": {
    "element": [
      {
        "id": "Appointment",
        "path": "Appointment",
        "short": "用于预约某个时候的医疗服务活动",
        "definition": "用于预约某个时候的医疗服务活动，包括对患者、医护人员、相关人员、设备等的预约。此资源可能引出一次或多次医疗活动",
        "comment": "此资源的每个实例只能表示单次预约，一组周期性的重复性预约需创建多个预约资源实例来表示。例如，择期手术、临床随访、远程会诊预约、预约检查等等",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment",
          "min": 0,
          "max": "*"
        },
        "constraint": [
          {
            "key": "dom-2",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
            "expression": "contained.contained.empty()",
            "xpath": "not(parent::f:contained and f:contained)",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "dom-4",
            "severity": "error",
            "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
            "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
            "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "dom-3",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
            "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
            "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
                "valueBoolean": true
              },
              {
                "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
                "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
              }
            ],
            "key": "dom-6",
            "severity": "warning",
            "human": "A resource should have narrative for robust management",
            "expression": "text.`div`.exists()",
            "xpath": "exists(f:text/h:div)",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "dom-5",
            "severity": "error",
            "human": "If a resource is contained in another resource, it SHALL NOT have a security label",
            "expression": "contained.meta.security.empty()",
            "xpath": "not(exists(f:contained/*/f:meta/f:security))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "app-4",
            "severity": "error",
            "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show",
            "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')",
            "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          },
          {
            "key": "app-3",
            "severity": "error",
            "human": "Only proposed or cancelled appointments can be missing start/end dates",
            "expression": "(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))",
            "xpath": "((exists(f:start) and exists(f:end)) or (f:status/@value='proposed') or (f:status/@value='cancelled') or (f:status/@value='waitlist'))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          },
          {
            "key": "app-2",
            "severity": "error",
            "human": "Either start and end are specified, or neither",
            "expression": "start.exists() = end.exists()",
            "xpath": "((exists(f:start) and exists(f:end)) or (not(exists(f:start)) and not(exists(f:end))))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Entity. Role, or Act"
          },
          {
            "identity": "workflow",
            "map": "Request"
          },
          {
            "identity": "rim",
            "map": "Act[@moodCode <= 'INT']"
          },
          {
            "identity": "ical",
            "map": "VEVENT"
          }
        ]
      },
      {
        "id": "Appointment.id",
        "path": "Appointment.id",
        "short": "Logical id of this artifact",
        "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
        "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "id"
              }
            ],
            "code": "id"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.meta",
        "path": "Appointment.meta",
        "short": "Metadata about the resource",
        "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.meta",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Meta"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.implicitRules",
        "path": "Appointment.implicitRules",
        "short": "A set of rules under which this content was created",
        "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
        "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.implicitRules",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": true,
        "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.language",
        "path": "Appointment.language",
        "short": "Language of the resource content",
        "definition": "The base language in which the resource is written.",
        "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.language",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
              "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "Language"
            }
          ],
          "strength": "preferred",
          "description": "A human language.",
          "valueSet": "http://hl7.org/fhir/ValueSet/languages"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.text",
        "path": "Appointment.text",
        "short": "Text summary of the resource, for human interpretation",
        "definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
        "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
        "alias": [
          "narrative",
          "html",
          "xhtml",
          "display"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "DomainResource.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Narrative"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Act.text?"
          }
        ]
      },
      {
        "id": "Appointment.contained",
        "path": "Appointment.contained",
        "short": "Contained, inline Resources",
        "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
        "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
        "alias": [
          "inline resources",
          "anonymous resources",
          "contained resources"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.contained",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Resource"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Entity. Role, or Act"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.extension",
        "path": "Appointment.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.modifierExtension",
        "path": "Appointment.modifierExtension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Extensions that cannot be ignored",
        "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.identifier",
        "path": "Appointment.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        },
        "short": "External Ids for this item",
        "definition": "This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Identifier"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
          },
          {
            "identity": "rim",
            "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
          },
          {
            "identity": "servd",
            "map": "Identifier"
          },
          {
            "identity": "workflow",
            "map": "Request.identifier"
          },
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "v2",
            "map": "SCH-1, SCH-2, ARQ-1, ARQ-2"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "ical",
            "map": "UID"
          }
        ]
      },
      {
        "id": "Appointment.identifier:thirdPartyidentifier",
        "path": "Appointment.identifier",
        "sliceName": "thirdPartyidentifier",
        "short": "第三方订单号",
        "definition": "第三方订单的编号",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
          },
          {
            "identity": "rim",
            "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
          },
          {
            "identity": "servd",
            "map": "Identifier"
          },
          {
            "identity": "workflow",
            "map": "Request.identifier"
          },
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "v2",
            "map": "SCH-1, SCH-2, ARQ-1, ARQ-2"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "ical",
            "map": "UID"
          }
        ]
      },
      {
        "id": "Appointment.identifier:sourceIdentifier",
        "path": "Appointment.identifier",
        "sliceName": "sourceIdentifier",
        "short": "预约号源编码",
        "definition": "预约与号源的编码",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
          },
          {
            "identity": "rim",
            "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
          },
          {
            "identity": "servd",
            "map": "Identifier"
          },
          {
            "identity": "workflow",
            "map": "Request.identifier"
          },
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "v2",
            "map": "SCH-1, SCH-2, ARQ-1, ARQ-2"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "ical",
            "map": "UID"
          }
        ]
      },
      {
        "id": "Appointment.identifier:otherIdentifier",
        "path": "Appointment.identifier",
        "sliceName": "otherIdentifier",
        "short": "其他编码",
        "definition": "预约与号源的其他业务编码",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
          },
          {
            "identity": "rim",
            "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]"
          },
          {
            "identity": "servd",
            "map": "Identifier"
          },
          {
            "identity": "workflow",
            "map": "Request.identifier"
          },
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "v2",
            "map": "SCH-1, SCH-2, ARQ-1, ARQ-2"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "ical",
            "map": "UID"
          }
        ]
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "label": "预约状态",
        "short": "proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist",
        "definition": "预约的整体状态。每个此预约相关的人或物都有参与此预约流程相关的自己的状态。但整体状态表示每个参与者可用的共享状态。\r\n这些状态包括：开放中|预约中|已预定|已签到|已完成|已取消|未到场|误录入|已就绪|候补中",
        "comment": "当预约的状态标记为“取消”时，所有的参与者应该释放此预约时段的占用的资源，即相关的预约时段资源（Slot）的状态都应由“忙碌”重置为“空闲”。",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Appointment.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": true,
        "isModifierReason": "当此元素值为\"entered-in-error\"时，整个资源将视为无效资源",
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "AppointmentStatus"
            }
          ],
          "strength": "required",
          "description": "预约的整体状态",
          "valueSet": "http://ValueSet.hl7fhir.cn/appointment-status"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.status"
          },
          {
            "identity": "w5",
            "map": "FiveWs.status"
          },
          {
            "identity": "v2",
            "map": "SCH-25"
          },
          {
            "identity": "rim",
            "map": ".statusCode"
          },
          {
            "identity": "ical",
            "map": "STATUS"
          }
        ]
      },
      {
        "id": "Appointment.status.id",
        "path": "Appointment.status.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.status.extension",
        "path": "Appointment.status.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.status.extension:status",
        "path": "Appointment.status.extension",
        "sliceName": "status",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/resource-status"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.status.value",
        "path": "Appointment.status.value",
        "representation": [
          "xmlAttr"
        ],
        "short": "Primitive value for code",
        "definition": "Primitive value for code",
        "min": 0,
        "max": "1",
        "base": {
          "path": "string.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "code"
              },
              {
                "url": "http://hl7.org/fhir/StructureDefinition/regex",
                "valueString": "[^\\s]+(\\s[^\\s]+)*"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "maxLength": 1048576
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "label": "取消原因",
        "short": "预约取消的原因编码",
        "definition": "当状态为已取消，此元素用编码形式说明此预约取消的原因。这常用于后续的统计报告或取消后有后续流程的情况，如：取消预约会产生扣费等情况。",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.cancelationReason",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "cancelation-reason"
            }
          ],
          "strength": "example",
          "description": "预约取消原因",
          "valueSet": "http://ValueSet.hl7fhir.cn/appointment-cancellation-reason"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          }
        ]
      },
      {
        "id": "Appointment.serviceCategory",
        "path": "Appointment.serviceCategory",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "short": "A broad categorization of the service that is to be performed during this appointment",
        "definition": "A broad categorization of the service that is to be performed during this appointment.",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.serviceCategory",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-category"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/service-category"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "CATEGORIES"
          }
        ]
      },
      {
        "id": "Appointment.serviceCategory:serviceCategory",
        "path": "Appointment.serviceCategory",
        "sliceName": "serviceCategory",
        "short": "号源分类",
        "definition": "该号源的分类",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.serviceCategory",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-category"
            }
          ],
          "strength": "example",
          "valueSet": "http://ValueSet.hl7fhir.cn/service-category-vs"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "CATEGORIES"
          }
        ]
      },
      {
        "id": "Appointment.serviceCategory:otherCategory",
        "path": "Appointment.serviceCategory",
        "sliceName": "otherCategory",
        "short": "其他号源分类",
        "definition": "描述该号源的其他类别",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.serviceCategory",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-category"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/service-category"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "CATEGORIES"
          }
        ]
      },
      {
        "id": "Appointment.serviceType",
        "path": "Appointment.serviceType",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "short": "The specific service that is to be performed during this appointment",
        "definition": "The specific service that is to be performed during this appointment.",
        "comment": "For a provider to provider appointment the code \"FOLLOWUP\" may be appropriate, as this is expected to be discussing some patient that was seen in the past.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.serviceType",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-type"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/service-type"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "workflow",
            "map": "Request.code"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          }
        ]
      },
      {
        "id": "Appointment.serviceType:serviceType",
        "path": "Appointment.serviceType",
        "sliceName": "serviceType",
        "short": "服务项目分类",
        "definition": "该号源的服务项目分类",
        "comment": "For a provider to provider appointment the code \"FOLLOWUP\" may be appropriate, as this is expected to be discussing some patient that was seen in the past.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.serviceType",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-type"
            }
          ],
          "strength": "example",
          "valueSet": "http://ValueSet.hl7fhir.cn/service-type-vs"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "workflow",
            "map": "Request.code"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          }
        ]
      },
      {
        "id": "Appointment.serviceType:otherType",
        "path": "Appointment.serviceType",
        "sliceName": "otherType",
        "short": "其他服务项目分类",
        "definition": "门诊号源的其他服务项目分类",
        "comment": "For a provider to provider appointment the code \"FOLLOWUP\" may be appropriate, as this is expected to be discussing some patient that was seen in the past.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.serviceType",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-type"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/service-type"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "workflow",
            "map": "Request.code"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          }
        ]
      },
      {
        "id": "Appointment.specialty",
        "path": "Appointment.specialty",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "short": "The specialty of a practitioner that would be required to perform the service requested in this appointment",
        "definition": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.specialty",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "specialty"
            }
          ],
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".performer.AssignedPerson.code"
          }
        ]
      },
      {
        "id": "Appointment.specialty:specialty",
        "path": "Appointment.specialty",
        "sliceName": "specialty",
        "short": "专业要求",
        "definition": "该号源的专业要求",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.specialty",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "specialty"
            }
          ],
          "strength": "preferred",
          "valueSet": "http://ValueSet.hl7fhir.cn/practice-setting-code-vs"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".performer.AssignedPerson.code"
          }
        ]
      },
      {
        "id": "Appointment.specialty:otherSpecialty",
        "path": "Appointment.specialty",
        "sliceName": "otherSpecialty",
        "short": "The specialty of a practitioner that would be required to perform the service requested in this appointment",
        "definition": "该门诊号源中执行的医疗服务者的其他专业要求",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.specialty",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "specialty"
            }
          ],
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".performer.AssignedPerson.code"
          }
        ]
      },
      {
        "id": "Appointment.appointmentType",
        "path": "Appointment.appointmentType",
        "short": "预约患者的类型",
        "definition": "预约或预约病人的方式(不是服务类型)。\r\n描述该医疗服务提供的预约的方式，如：如：检查预约、随访预约、紧急预约、常规预约、例行约会（值集）,和预约的号源保持一致",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.appointmentType",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "appointment-type"
            }
          ],
          "strength": "preferred",
          "valueSet": "http://terminology.hl7.org/ValueSet/v2-0276"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "v2",
            "map": "ARQ-7"
          },
          {
            "identity": "rim",
            "map": ".code"
          },
          {
            "identity": "ical",
            "map": "CLASSIFICATION"
          }
        ]
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "short": "预约原因代码",
        "definition": "这个约会被安排的编码原因。这更像是临床治疗，而非行政管理。\r\n描述预约的原因编码（值集）",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.reasonCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ApptReason"
            }
          ],
          "strength": "preferred",
          "description": "The Reason for the appointment to take place.",
          "valueSet": "http://hl7.org/fhir/ValueSet/encounter-reason"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "workflow",
            "map": "Request.reasonCode"
          },
          {
            "identity": "v2",
            "map": "AIS-3, SCH-7"
          },
          {
            "identity": "rim",
            "map": ".reasonCode"
          }
        ]
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "short": "预约原因信息",
        "definition": "根据另外一个资源来确定预约的原因，\r\n例如：门诊可以关联 主诉Condition ，手术预约可以使用Procedure 等。\r\n这里对描述这次预约的原因的资源的一个引用。",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.reasonReference",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://StructureDefinition.hl7fhir.cn/Condition",
              "http://StructureDefinition.hl7fhir.cn/Procedure",
              "http://StructureDefinition.hl7fhir.cn/Observation",
              "http://StructureDefinition.hl7fhir.cn/ImmunizationRecommendation"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "workflow",
            "map": "Request.reasonReference"
          },
          {
            "identity": "rim",
            "map": ".inboundRelationship[@typeCode = 'RSON'].observation"
          }
        ]
      },
      {
        "id": "Appointment.priority",
        "path": "Appointment.priority",
        "short": "优先级",
        "definition": "描述该次预约的优先级。（iCal标准将0定义为未定义，将1定义为最高，将9定义为最低优先级）。",
        "comment": "Seeking implementer feedback on this property and how interoperable it is.\r\rUsing an extension to record a CodeableConcept for named values may be tested at a future connectathon.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.priority",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "unsignedInt"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.priority"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "v2",
            "map": "ARQ-12, SCH-11.6 / TQ1-9"
          },
          {
            "identity": "rim",
            "map": ".priorityCode"
          },
          {
            "identity": "ical",
            "map": "PRIORITY"
          }
        ]
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "short": "简介",
        "definition": "在会议请求或约会列表的主题栏中显示的约会的简短描述。详细或扩展的信息应该放在评论栏中。\r\n描述该次约会的简要介绍信息",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.description",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "NTE-3"
          },
          {
            "identity": "rim",
            "map": ".text"
          },
          {
            "identity": "ical",
            "map": "SUMMARY"
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "short": "附加信息",
        "definition": "在预约时提供的支持预约的附加信息。\r\n该出可以用于利用其它资源对该次预约进行补充，本地化后可以用于关联多个和这个资源相关的资源描述。",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.supportingInformation",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://StructureDefinition.hl7fhir.cn/Resource"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "workflow",
            "map": "Request.supportingInfo"
          },
          {
            "identity": "w5",
            "map": "FiveWs.context"
          },
          {
            "identity": "rim",
            "map": ".inboundRelationship[@typeCode = 'SPRT'].observation"
          },
          {
            "identity": "ical",
            "map": "ATTACH"
          }
        ]
      },
      {
        "id": "Appointment.start",
        "path": "Appointment.start",
        "short": "开始时间",
        "definition": "预约的开始时间，和号源保持一致",
        "comment": "Note: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "instant"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "w5",
            "map": "FiveWs.init"
          },
          {
            "identity": "v2",
            "map": "ARQ-11.1, SCH-11.4 / TQ1-7"
          },
          {
            "identity": "rim",
            "map": ".effectiveTime.low"
          },
          {
            "identity": "ical",
            "map": "DTSTART"
          }
        ]
      },
      {
        "id": "Appointment.end",
        "path": "Appointment.end",
        "short": "结束时间",
        "definition": "预约的开始时间，和号源保持一致",
        "comment": "Note: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "instant"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "w5",
            "map": "FiveWs.done[x]"
          },
          {
            "identity": "v2",
            "map": "SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9"
          },
          {
            "identity": "rim",
            "map": ".effectiveTime.high"
          },
          {
            "identity": "ical",
            "map": "DTEND"
          }
        ]
      },
      {
        "id": "Appointment.minutesDuration",
        "path": "Appointment.minutesDuration",
        "short": "约会时间",
        "definition": "描述整个约会完成的真实时间长度，可以和开始时间和结束时间不一致，该处为真实发生的时间。",
        "comment": "32 bit number; for values larger than this, use decimal",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.minutesDuration",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "rim",
            "map": ".activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width"
          },
          {
            "identity": "ical",
            "map": "DURATION (e.g. PT15M)"
          }
        ]
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "short": "号源时段信息",
        "definition": "描述该预约的号源时段信息的引用，如果该预约已经选定了号源时段，关联号源信息。",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.slot",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Slot"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "rim",
            "map": ".outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']"
          }
        ]
      },
      {
        "id": "Appointment.created",
        "path": "Appointment.created",
        "short": "创建时间",
        "definition": "此约会最初创建的日期。该时间不是数据的创建时间，而是业务发生的真实时间，并且在约会的生命周期内应该保持不变。",
        "comment": "This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.created",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.authoredOn"
          },
          {
            "identity": "rim",
            "map": ".author.time"
          },
          {
            "identity": "ical",
            "map": "CREATED"
          }
        ]
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "short": "约会评论",
        "definition": "关于预约的补充意见。",
        "comment": "附加文本，以记录预约信息。例如，一个注释可能是，“病人一到输液室就应立即进入”\r\n如果这是一个计划的约会，并且没有设置开始/结束日期，那么这个字段可以用来提供关于约会请求细节的额外指导，包括关于何时预订的任何限制。",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.comment",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.note"
          },
          {
            "identity": "v2",
            "map": "NTE-3"
          },
          {
            "identity": "rim",
            "map": ".subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value"
          },
          {
            "identity": "ical",
            "map": "DESCRIPTION (for internal use)"
          }
        ]
      },
      {
        "id": "Appointment.patientInstruction",
        "path": "Appointment.patientInstruction",
        "short": "注意事项",
        "definition": "给患者的详细信息和说明，本地化后，可以作为预约的事件的一些注意事项。字符串小于1M",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.patientInstruction",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "NTE-3"
          },
          {
            "identity": "rim",
            "map": ".subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value"
          },
          {
            "identity": "ical",
            "map": "DESCRIPTION (for patient use)"
          }
        ]
      },
      {
        "id": "Appointment.basedOn",
        "path": "Appointment.basedOn",
        "short": "服务请求",
        "definition": "分配此约会的服务请求以进行评估\r\n描述该预约是基于哪一些服务来预约的，比如检查申请单等。",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "alias": [
          "incomingReferral"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.basedOn",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://StructureDefinition.hl7fhir.cn/ServiceRequest"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "workflow",
            "map": "Request.basedOn"
          },
          {
            "identity": "rim",
            "map": ".outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']"
          }
        ]
      },
      {
        "id": "Appointment.participant",
        "path": "Appointment.participant",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        },
        "short": "参与者",
        "definition": "参与预约的人士名单。\r\n这里用1..*的关系明确了参与该次预约的所有元素，包括患者、医生、设备、诊室/检查室/手术室、相关的人员等。\r\n在这里可切片定义不同的参与元素，建议患者必填。",
        "min": 1,
        "max": "*",
        "base": {
          "path": "Appointment.participant",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "app-1",
            "severity": "error",
            "human": "Either the type or actor on the participant SHALL be specified",
            "expression": "type.exists() or actor.exists()",
            "xpath": "(exists(f:type) or exists(f:actor))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.performer, Request.subject"
          },
          {
            "identity": "v2",
            "map": "PID, AIP, AIG, AIL"
          },
          {
            "identity": "rim",
            "map": "performer | reusableDevice | subject | location"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE component to be created"
          }
        ]
      },
      {
        "id": "Appointment.participant.id",
        "path": "Appointment.participant.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant.extension",
        "path": "Appointment.participant.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant.modifierExtension",
        "path": "Appointment.participant.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant.type",
        "path": "Appointment.participant.type",
        "short": "Role of participant in the appointment",
        "definition": "Role of participant in the appointment.",
        "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.participant.type",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantType"
            }
          ],
          "strength": "extensible",
          "description": "Role of participant in encounter.",
          "valueSet": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "v2",
            "map": "AIP-4, AIG-4"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@typeCode"
          },
          {
            "identity": "ical",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant.actor",
        "path": "Appointment.participant.actor",
        "short": "Person, Location/HealthcareService or Device",
        "definition": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.actor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "w5",
            "map": "FiveWs.who"
          },
          {
            "identity": "v2",
            "map": "PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3"
          },
          {
            "identity": "rim",
            "map": "performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not \"information-only\""
          }
        ]
      },
      {
        "id": "Appointment.participant.required",
        "path": "Appointment.participant.required",
        "short": "required | optional | information-only",
        "definition": "Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.required",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantRequired"
            }
          ],
          "strength": "required",
          "description": "Is the Participant required to attend the appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participantrequired|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@performInd"
          },
          {
            "identity": "ical",
            "map": "ROLE=REQ-PARTICIPANT (roleparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant.status",
        "path": "Appointment.participant.status",
        "short": "accepted | declined | tentative | needs-action",
        "definition": "Participation status of the actor.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Appointment.participant.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipationStatus"
            }
          ],
          "strength": "required",
          "description": "The Participation status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participationstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "AIP-12, AIG-14"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).statusCode"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE;CN=\"John Doe\";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant.period",
        "path": "Appointment.participant.period",
        "short": "Participation period of the actor",
        "definition": "Participation period of the actor.",
        "comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
            "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom",
        "path": "Appointment.participant",
        "sliceName": "consultingRoom",
        "short": "诊室",
        "definition": "关联 该排班中的诊室资源，type 中固定为诊室",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "app-1",
            "severity": "error",
            "human": "Either the type or actor on the participant SHALL be specified",
            "expression": "type.exists() or actor.exists()",
            "xpath": "(exists(f:type) or exists(f:actor))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.performer, Request.subject"
          },
          {
            "identity": "v2",
            "map": "PID, AIP, AIG, AIL"
          },
          {
            "identity": "rim",
            "map": "performer | reusableDevice | subject | location"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE component to be created"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.id",
        "path": "Appointment.participant.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.extension",
        "path": "Appointment.participant.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.modifierExtension",
        "path": "Appointment.participant.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.type",
        "path": "Appointment.participant.type",
        "short": "Role of participant in the appointment",
        "definition": "Role of participant in the appointment.",
        "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.participant.type",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantType"
            }
          ],
          "strength": "extensible",
          "description": "Role of participant in encounter.",
          "valueSet": "http://ValueSet.hl7fhir.cn/encounter-participant-type-vs"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "v2",
            "map": "AIP-4, AIG-4"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@typeCode"
          },
          {
            "identity": "ical",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.actor",
        "path": "Appointment.participant.actor",
        "short": "Person, Location/HealthcareService or Device",
        "definition": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.actor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "w5",
            "map": "FiveWs.who"
          },
          {
            "identity": "v2",
            "map": "PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3"
          },
          {
            "identity": "rim",
            "map": "performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not \"information-only\""
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.required",
        "path": "Appointment.participant.required",
        "short": "required | optional | information-only",
        "definition": "Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.required",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantRequired"
            }
          ],
          "strength": "required",
          "description": "Is the Participant required to attend the appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participantrequired|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@performInd"
          },
          {
            "identity": "ical",
            "map": "ROLE=REQ-PARTICIPANT (roleparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.status",
        "path": "Appointment.participant.status",
        "short": "accepted | declined | tentative | needs-action",
        "definition": "Participation status of the actor.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Appointment.participant.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipationStatus"
            }
          ],
          "strength": "required",
          "description": "The Participation status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participationstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "AIP-12, AIG-14"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).statusCode"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE;CN=\"John Doe\";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:consultingRoom.period",
        "path": "Appointment.participant.period",
        "short": "Participation period of the actor",
        "definition": "Participation period of the actor.",
        "comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
            "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor",
        "path": "Appointment.participant",
        "sliceName": "doctor",
        "short": "门诊医生",
        "definition": "关联 该排班中的门诊医生信息",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "app-1",
            "severity": "error",
            "human": "Either the type or actor on the participant SHALL be specified",
            "expression": "type.exists() or actor.exists()",
            "xpath": "(exists(f:type) or exists(f:actor))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.performer, Request.subject"
          },
          {
            "identity": "v2",
            "map": "PID, AIP, AIG, AIL"
          },
          {
            "identity": "rim",
            "map": "performer | reusableDevice | subject | location"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE component to be created"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.id",
        "path": "Appointment.participant.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.extension",
        "path": "Appointment.participant.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.modifierExtension",
        "path": "Appointment.participant.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.type",
        "path": "Appointment.participant.type",
        "short": "Role of participant in the appointment",
        "definition": "Role of participant in the appointment.",
        "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.participant.type",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantType"
            }
          ],
          "strength": "extensible",
          "description": "Role of participant in encounter.",
          "valueSet": "http://ValueSet.hl7fhir.cn/encounter-participant-type-vs"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "v2",
            "map": "AIP-4, AIG-4"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@typeCode"
          },
          {
            "identity": "ical",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.actor",
        "path": "Appointment.participant.actor",
        "short": "Person, Location/HealthcareService or Device",
        "definition": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.actor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "w5",
            "map": "FiveWs.who"
          },
          {
            "identity": "v2",
            "map": "PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3"
          },
          {
            "identity": "rim",
            "map": "performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not \"information-only\""
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.required",
        "path": "Appointment.participant.required",
        "short": "required | optional | information-only",
        "definition": "Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.required",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantRequired"
            }
          ],
          "strength": "required",
          "description": "Is the Participant required to attend the appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participantrequired|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@performInd"
          },
          {
            "identity": "ical",
            "map": "ROLE=REQ-PARTICIPANT (roleparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.status",
        "path": "Appointment.participant.status",
        "short": "accepted | declined | tentative | needs-action",
        "definition": "Participation status of the actor.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Appointment.participant.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipationStatus"
            }
          ],
          "strength": "required",
          "description": "The Participation status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participationstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "AIP-12, AIG-14"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).statusCode"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE;CN=\"John Doe\";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor.period",
        "path": "Appointment.participant.period",
        "short": "Participation period of the actor",
        "definition": "Participation period of the actor.",
        "comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
            "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic",
        "path": "Appointment.participant",
        "sliceName": "SpecialistClinic",
        "short": "Participants involved in appointment",
        "definition": "List of participants involved in the appointment.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "app-1",
            "severity": "error",
            "human": "Either the type or actor on the participant SHALL be specified",
            "expression": "type.exists() or actor.exists()",
            "xpath": "(exists(f:type) or exists(f:actor))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.performer, Request.subject"
          },
          {
            "identity": "v2",
            "map": "PID, AIP, AIG, AIL"
          },
          {
            "identity": "rim",
            "map": "performer | reusableDevice | subject | location"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE component to be created"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.id",
        "path": "Appointment.participant.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.extension",
        "path": "Appointment.participant.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.modifierExtension",
        "path": "Appointment.participant.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.type",
        "path": "Appointment.participant.type",
        "short": "Role of participant in the appointment",
        "definition": "Role of participant in the appointment.",
        "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.participant.type",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantType"
            }
          ],
          "strength": "extensible",
          "description": "Role of participant in encounter.",
          "valueSet": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "v2",
            "map": "AIP-4, AIG-4"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@typeCode"
          },
          {
            "identity": "ical",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.actor",
        "path": "Appointment.participant.actor",
        "short": "Person, Location/HealthcareService or Device",
        "definition": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.actor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "w5",
            "map": "FiveWs.who"
          },
          {
            "identity": "v2",
            "map": "PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3"
          },
          {
            "identity": "rim",
            "map": "performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not \"information-only\""
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.required",
        "path": "Appointment.participant.required",
        "short": "required | optional | information-only",
        "definition": "Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.required",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantRequired"
            }
          ],
          "strength": "required",
          "description": "Is the Participant required to attend the appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participantrequired|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@performInd"
          },
          {
            "identity": "ical",
            "map": "ROLE=REQ-PARTICIPANT (roleparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.status",
        "path": "Appointment.participant.status",
        "short": "accepted | declined | tentative | needs-action",
        "definition": "Participation status of the actor.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Appointment.participant.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipationStatus"
            }
          ],
          "strength": "required",
          "description": "The Participation status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participationstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "AIP-12, AIG-14"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).statusCode"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE;CN=\"John Doe\";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.period",
        "path": "Appointment.participant.period",
        "short": "Participation period of the actor",
        "definition": "Participation period of the actor.",
        "comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
            "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant",
        "path": "Appointment.participant",
        "sliceName": "otherParticipant",
        "short": "其他参与者",
        "definition": "关联此班次中包含的号源将拥有此元素指定的其他医疗服务资源，如医生、设备、床位等。",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.participant",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "app-1",
            "severity": "error",
            "human": "Either the type or actor on the participant SHALL be specified",
            "expression": "type.exists() or actor.exists()",
            "xpath": "(exists(f:type) or exists(f:actor))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "workflow",
            "map": "Request.performer, Request.subject"
          },
          {
            "identity": "v2",
            "map": "PID, AIP, AIG, AIL"
          },
          {
            "identity": "rim",
            "map": "performer | reusableDevice | subject | location"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE component to be created"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.id",
        "path": "Appointment.participant.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.extension",
        "path": "Appointment.participant.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.modifierExtension",
        "path": "Appointment.participant.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.type",
        "path": "Appointment.participant.type",
        "short": "Role of participant in the appointment",
        "definition": "Role of participant in the appointment.",
        "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.participant.type",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantType"
            }
          ],
          "strength": "extensible",
          "description": "Role of participant in encounter.",
          "valueSet": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "v2",
            "map": "AIP-4, AIG-4"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@typeCode"
          },
          {
            "identity": "ical",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.actor",
        "path": "Appointment.participant.actor",
        "short": "Person, Location/HealthcareService or Device",
        "definition": "A Person, Location/HealthcareService or Device that is participating in the appointment.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.actor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "w5",
            "map": "FiveWs.who"
          },
          {
            "identity": "v2",
            "map": "PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3"
          },
          {
            "identity": "rim",
            "map": "performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not \"information-only\""
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.required",
        "path": "Appointment.participant.required",
        "short": "required | optional | information-only",
        "definition": "Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.required",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantRequired"
            }
          ],
          "strength": "required",
          "description": "Is the Participant required to attend the appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participantrequired|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@performInd"
          },
          {
            "identity": "ical",
            "map": "ROLE=REQ-PARTICIPANT (roleparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.status",
        "path": "Appointment.participant.status",
        "short": "accepted | declined | tentative | needs-action",
        "definition": "Participation status of the actor.",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Appointment.participant.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipationStatus"
            }
          ],
          "strength": "required",
          "description": "The Participation status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participationstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "AIP-12, AIG-14"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).statusCode"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE;CN=\"John Doe\";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.period",
        "path": "Appointment.participant.period",
        "short": "Participation period of the actor",
        "definition": "Participation period of the actor.",
        "comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Appointment.participant.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
            "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          }
        ]
      },
      {
        "id": "Appointment.requestedPeriod",
        "path": "Appointment.requestedPeriod",
        "short": "预约希望日期",
        "definition": "一组日期范围(可能包括时间)，最好将约会安排在其中。\r\n还可以提供持续时间(通常以分钟为单位)，以指示要填充和填充实际分配时间的开始/结束时间的约会的长度。但是，在其他情况下，时间可以由调度系统计算。\r\n\r\n描述预约被安排的日期，这里是建议日期，不是实际日期，通常可以用来描述在预约申请发起的时候，患者希望被预约到的时间段，\r\n但是不等于真实预约到的时间段，可作为预约的查询条件（辅助预约用）",
        "comment": "This does not introduce a capacity for recurring appointments.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Appointment.requestedPeriod",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Period",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Period"
            ]
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
            "xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          },
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "v2",
            "map": "ARQ-11"
          },
          {
            "identity": "rim",
            "map": ".activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "Appointment",
        "path": "Appointment",
        "short": "用于预约某个时候的医疗服务活动",
        "definition": "用于预约某个时候的医疗服务活动，包括对患者、医护人员、相关人员、设备等的预约。此资源可能引出一次或多次医疗活动",
        "comment": "此资源的每个实例只能表示单次预约，一组周期性的重复性预约需创建多个预约资源实例来表示。例如，择期手术、临床随访、远程会诊预约、预约检查等等"
      },
      {
        "id": "Appointment.identifier",
        "path": "Appointment.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "Identifier",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Identifier"
            ]
          }
        ]
      },
      {
        "id": "Appointment.identifier:thirdPartyidentifier",
        "path": "Appointment.identifier",
        "sliceName": "thirdPartyidentifier",
        "short": "第三方订单号",
        "definition": "第三方订单的编号",
        "max": "1"
      },
      {
        "id": "Appointment.identifier:sourceIdentifier",
        "path": "Appointment.identifier",
        "sliceName": "sourceIdentifier",
        "short": "预约号源编码",
        "definition": "预约与号源的编码",
        "max": "1"
      },
      {
        "id": "Appointment.identifier:otherIdentifier",
        "path": "Appointment.identifier",
        "sliceName": "otherIdentifier",
        "short": "其他编码",
        "definition": "预约与号源的其他业务编码"
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "label": "预约状态",
        "definition": "预约的整体状态。每个此预约相关的人或物都有参与此预约流程相关的自己的状态。但整体状态表示每个参与者可用的共享状态。\r\n这些状态包括：开放中|预约中|已预定|已签到|已完成|已取消|未到场|误录入|已就绪|候补中",
        "comment": "当预约的状态标记为“取消”时，所有的参与者应该释放此预约时段的占用的资源，即相关的预约时段资源（Slot）的状态都应由“忙碌”重置为“空闲”。",
        "isModifierReason": "当此元素值为\"entered-in-error\"时，整个资源将视为无效资源",
        "binding": {
          "strength": "required",
          "description": "预约的整体状态",
          "valueSet": "http://ValueSet.hl7fhir.cn/appointment-status"
        }
      },
      {
        "id": "Appointment.status.extension",
        "path": "Appointment.status.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Appointment.status.extension:status",
        "path": "Appointment.status.extension",
        "sliceName": "status",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/resource-status"
            ]
          }
        ]
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "label": "取消原因",
        "short": "预约取消的原因编码",
        "definition": "当状态为已取消，此元素用编码形式说明此预约取消的原因。这常用于后续的统计报告或取消后有后续流程的情况，如：取消预约会产生扣费等情况。",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "binding": {
          "strength": "example",
          "description": "预约取消原因",
          "valueSet": "http://ValueSet.hl7fhir.cn/appointment-cancellation-reason"
        }
      },
      {
        "id": "Appointment.serviceCategory",
        "path": "Appointment.serviceCategory",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.serviceCategory:serviceCategory",
        "path": "Appointment.serviceCategory",
        "sliceName": "serviceCategory",
        "short": "号源分类",
        "definition": "该号源的分类",
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://ValueSet.hl7fhir.cn/service-category-vs"
        }
      },
      {
        "id": "Appointment.serviceCategory:otherCategory",
        "path": "Appointment.serviceCategory",
        "sliceName": "otherCategory",
        "short": "其他号源分类",
        "definition": "描述该号源的其他类别",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.serviceType",
        "path": "Appointment.serviceType",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.serviceType:serviceType",
        "path": "Appointment.serviceType",
        "sliceName": "serviceType",
        "short": "服务项目分类",
        "definition": "该号源的服务项目分类",
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://ValueSet.hl7fhir.cn/service-type-vs"
        }
      },
      {
        "id": "Appointment.serviceType:otherType",
        "path": "Appointment.serviceType",
        "sliceName": "otherType",
        "short": "其他服务项目分类",
        "definition": "门诊号源的其他服务项目分类",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.specialty",
        "path": "Appointment.specialty",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "coding.system"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.specialty:specialty",
        "path": "Appointment.specialty",
        "sliceName": "specialty",
        "short": "专业要求",
        "definition": "该号源的专业要求",
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "binding": {
          "strength": "preferred",
          "valueSet": "http://ValueSet.hl7fhir.cn/practice-setting-code-vs"
        }
      },
      {
        "id": "Appointment.specialty:otherSpecialty",
        "path": "Appointment.specialty",
        "sliceName": "otherSpecialty",
        "definition": "该门诊号源中执行的医疗服务者的其他专业要求",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.appointmentType",
        "path": "Appointment.appointmentType",
        "short": "预约患者的类型",
        "definition": "预约或预约病人的方式(不是服务类型)。\r\n描述该医疗服务提供的预约的方式，如：如：检查预约、随访预约、紧急预约、常规预约、例行约会（值集）,和预约的号源保持一致",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "short": "预约原因代码",
        "definition": "这个约会被安排的编码原因。这更像是临床治疗，而非行政管理。\r\n描述预约的原因编码（值集）",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "short": "预约原因信息",
        "definition": "根据另外一个资源来确定预约的原因，\r\n例如：门诊可以关联 主诉Condition ，手术预约可以使用Procedure 等。\r\n这里对描述这次预约的原因的资源的一个引用。",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://StructureDefinition.hl7fhir.cn/Condition",
              "http://StructureDefinition.hl7fhir.cn/Procedure",
              "http://StructureDefinition.hl7fhir.cn/Observation",
              "http://StructureDefinition.hl7fhir.cn/ImmunizationRecommendation"
            ]
          }
        ]
      },
      {
        "id": "Appointment.priority",
        "path": "Appointment.priority",
        "short": "优先级",
        "definition": "描述该次预约的优先级。（iCal标准将0定义为未定义，将1定义为最高，将9定义为最低优先级）。"
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "short": "简介",
        "definition": "在会议请求或约会列表的主题栏中显示的约会的简短描述。详细或扩展的信息应该放在评论栏中。\r\n描述该次约会的简要介绍信息"
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "short": "附加信息",
        "definition": "在预约时提供的支持预约的附加信息。\r\n该出可以用于利用其它资源对该次预约进行补充，本地化后可以用于关联多个和这个资源相关的资源描述。",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://StructureDefinition.hl7fhir.cn/Resource"
            ]
          }
        ]
      },
      {
        "id": "Appointment.start",
        "path": "Appointment.start",
        "short": "开始时间",
        "definition": "预约的开始时间，和号源保持一致"
      },
      {
        "id": "Appointment.end",
        "path": "Appointment.end",
        "short": "结束时间",
        "definition": "预约的开始时间，和号源保持一致"
      },
      {
        "id": "Appointment.minutesDuration",
        "path": "Appointment.minutesDuration",
        "short": "约会时间",
        "definition": "描述整个约会完成的真实时间长度，可以和开始时间和结束时间不一致，该处为真实发生的时间。"
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "short": "号源时段信息",
        "definition": "描述该预约的号源时段信息的引用，如果该预约已经选定了号源时段，关联号源信息。",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ]
          }
        ]
      },
      {
        "id": "Appointment.created",
        "path": "Appointment.created",
        "short": "创建时间",
        "definition": "此约会最初创建的日期。该时间不是数据的创建时间，而是业务发生的真实时间，并且在约会的生命周期内应该保持不变。"
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "short": "约会评论",
        "definition": "关于预约的补充意见。",
        "comment": "附加文本，以记录预约信息。例如，一个注释可能是，“病人一到输液室就应立即进入”\r\n如果这是一个计划的约会，并且没有设置开始/结束日期，那么这个字段可以用来提供关于约会请求细节的额外指导，包括关于何时预订的任何限制。"
      },
      {
        "id": "Appointment.patientInstruction",
        "path": "Appointment.patientInstruction",
        "short": "注意事项",
        "definition": "给患者的详细信息和说明，本地化后，可以作为预约的事件的一些注意事项。字符串小于1M"
      },
      {
        "id": "Appointment.basedOn",
        "path": "Appointment.basedOn",
        "short": "服务请求",
        "definition": "分配此约会的服务请求以进行评估\r\n描述该预约是基于哪一些服务来预约的，比如检查申请单等。",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ],
            "targetProfile": [
              "http://StructureDefinition.hl7fhir.cn/ServiceRequest"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant",
        "path": "Appointment.participant",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        },
        "short": "参与者",
        "definition": "参与预约的人士名单。\r\n这里用1..*的关系明确了参与该次预约的所有元素，包括患者、医生、设备、诊室/检查室/手术室、相关的人员等。\r\n在这里可切片定义不同的参与元素，建议患者必填。"
      },
      {
        "id": "Appointment.participant:consultingRoom",
        "path": "Appointment.participant",
        "sliceName": "consultingRoom",
        "short": "诊室",
        "definition": "关联 该排班中的诊室资源，type 中固定为诊室",
        "max": "1"
      },
      {
        "id": "Appointment.participant:consultingRoom.type",
        "path": "Appointment.participant.type",
        "binding": {
          "strength": "extensible",
          "valueSet": "http://ValueSet.hl7fhir.cn/encounter-participant-type-vs"
        }
      },
      {
        "id": "Appointment.participant:consultingRoom.actor",
        "path": "Appointment.participant.actor",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:doctor",
        "path": "Appointment.participant",
        "sliceName": "doctor",
        "short": "门诊医生",
        "definition": "关联 该排班中的门诊医生信息",
        "max": "1"
      },
      {
        "id": "Appointment.participant:doctor.type",
        "path": "Appointment.participant.type",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ],
        "binding": {
          "strength": "extensible",
          "valueSet": "http://ValueSet.hl7fhir.cn/encounter-participant-type-vs"
        }
      },
      {
        "id": "Appointment.participant:doctor.actor",
        "path": "Appointment.participant.actor",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic",
        "path": "Appointment.participant",
        "sliceName": "SpecialistClinic",
        "max": "1"
      },
      {
        "id": "Appointment.participant:SpecialistClinic.type",
        "path": "Appointment.participant.type",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:SpecialistClinic.actor",
        "path": "Appointment.participant.actor",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant",
        "path": "Appointment.participant",
        "sliceName": "otherParticipant",
        "short": "其他参与者",
        "definition": "关联此班次中包含的号源将拥有此元素指定的其他医疗服务资源，如医生、设备、床位等。"
      },
      {
        "id": "Appointment.participant:otherParticipant.type",
        "path": "Appointment.participant.type",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/CodeableConcept"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:otherParticipant.actor",
        "path": "Appointment.participant.actor",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Reference"
            ]
          }
        ]
      },
      {
        "id": "Appointment.requestedPeriod",
        "path": "Appointment.requestedPeriod",
        "short": "预约希望日期",
        "definition": "一组日期范围(可能包括时间)，最好将约会安排在其中。\r\n还可以提供持续时间(通常以分钟为单位)，以指示要填充和填充实际分配时间的开始/结束时间的约会的长度。但是，在其他情况下，时间可以由调度系统计算。\r\n\r\n描述预约被安排的日期，这里是建议日期，不是实际日期，通常可以用来描述在预约申请发起的时候，患者希望被预约到的时间段，\r\n但是不等于真实预约到的时间段，可作为预约的查询条件（辅助预约用）",
        "type": [
          {
            "code": "Period",
            "profile": [
              "http://StructureDefinition.hl7fhir.cn/Period"
            ]
          }
        ]
      }
    ]
  }
}