{
  "resourceType": "StructureDefinition",
  "constrainedType": "Patient",
  "base": "http://hl7.org/fhir/StructureDefinition/Patient",
  "meta": {
    "lastUpdated": "2016-05-11T19:43:27.667+00:00"
  },
  "url": "http://berzerkistan.gov.bz/fhir/StructureDefinition/berzerkistanpatient",
  "version": "1",
  "name": "BerzerkistanPatient",
  "status": "draft",
  "date": "2015-09-22T10:02:49+00:00",
  "fhirVersion": "1.0.2",
  "kind": "resource",
  "abstract": false,
  "snapshot": {
    "element": [
      {
        "id": "Patient",
        "path": "Patient",
        "short": "Information about an individual or animal receiving health care services",
        "definition": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
        "alias": [
          "SubjectOfCare Client Resident"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Patient",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Patient"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Patient[classCode=PAT]"
          },
          {
            "identity": "cda",
            "map": "ClinicalDocument.recordTarget.patientRole"
          },
          {
            "identity": "w5",
            "map": "administrative.individual"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "path": "Patient",
        "short": "Information about an individual or animal receiving health care services",
        "definition": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
        "alias": [
          "SubjectOfCare Client Resident"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Patient",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Patient"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Patient[classCode=PAT]"
          },
          {
            "identity": "cda",
            "map": "ClinicalDocument.recordTarget.patientRole"
          },
          {
            "identity": "w5",
            "map": "administrative.individual"
          }
        ]
      },
      {
        "path": "Patient.extension",
        "slicing": {
          "discriminator": [
            {
              "value": "url"
            }
          ],
          "rules": "openAtEnd"
        }
      },
      {
        "name": "PPH",
        "path": "Patient.extension",
        "label": "PPHTaxSituation",
        "code": [
          {
            "system": "www.mais.org/fhir/coding/profefector"
          }
        ],
        "short": "PPH Tax Situation",
        "definition": "Tax situation for the patient",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "binding": {
          "strength": "required",
          "description": "PPH Tax Situation"
        }
      },
      {
        "name": "BNI",
        "path": "Patient.identifier",
        "short": "An identifier for this patient",
        "definition": "An identifier for this patient.",
        "requirements": "Patients are almost always assigned specific numerical identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-3"
          },
          {
            "identity": "rim",
            "map": "id"
          },
          {
            "identity": "cda",
            "map": ".id"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "path": "Patient.identifier.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "unique id for the element within a resource (for internal references).",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "id"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "path": "Patient.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "path": "Patient.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri",
        "path": "Patient.identifier.system",
        "short": "The namespace for the identifier",
        "definition": "Establishes the namespace in which set of possible id values is unique.",
        "requirements": "There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "www.berzerkistan.gov/bni",
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "exampleString": "123456",
        "path": "Patient.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically displayed to the user and which is unique within the context of the system.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "path": "Patient.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "The reference may be just a text description of the assigner.",
        "path": "Patient.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "name": "NHIB",
        "path": "Patient.identifier",
        "short": "An identifier for this patient",
        "definition": "An identifier for this patient.",
        "requirements": "Patients are almost always assigned specific numerical identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-3"
          },
          {
            "identity": "rim",
            "map": "id"
          },
          {
            "identity": "cda",
            "map": ".id"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "path": "Patient.identifier.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "unique id for the element within a resource (for internal references).",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "id"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "path": "Patient.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "path": "Patient.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri",
        "path": "Patient.identifier.system",
        "short": "The namespace for the identifier",
        "definition": "Establishes the namespace in which set of possible id values is unique.",
        "requirements": "There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "www.berzerkistan.gov/nhib",
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "exampleString": "123456",
        "path": "Patient.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically displayed to the user and which is unique within the context of the system.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "path": "Patient.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "The reference may be just a text description of the assigner.",
        "path": "Patient.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Patient.identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "comments": "A patient may have multiple names with different uses or applicable periods. For animals, the name is a \"HumanName\" in the sense that is assigned and used by humans and has the same patterns.",
        "path": "Patient.name",
        "short": "A name associated with the patient",
        "definition": "A name associated with the individual.",
        "requirements": "Need to be able to track the patient by multiple names. Examples are your official name and a partner name.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.name",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "HumanName"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-5, PID-9"
          },
          {
            "identity": "rim",
            "map": "name"
          },
          {
            "identity": "cda",
            "map": ".patient.name"
          }
        ]
      },
      {
        "comments": "The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F.  Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, social, etc.)  However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice.  Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosonal and other gender aspects.  For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a \"hard\" error.",
        "path": "Patient.gender",
        "short": "male | female | other | unknown",
        "definition": "Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.",
        "requirements": "Needed for identification of the individual, in combination with (at least) name and birth date. Gender of individual drives many clinical processes.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.gender",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The gender of a person used for administrative purposes.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-8"
          },
          {
            "identity": "rim",
            "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender"
          },
          {
            "identity": "cda",
            "map": ".patient.administrativeGenderCode"
          }
        ]
      },
      {
        "comments": "At least an estimated year should be provided as a guess if the real DOB is unknown  There is a standard extension \"patient-birthTime\" available that should be used where Time is required (such as in maternaty/infant care systems).",
        "path": "Patient.birthDate",
        "short": "The date of birth for the individual",
        "definition": "The date of birth for the individual.",
        "requirements": "Age of the individual drives many clinical processes.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Patient.birthDate",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "date"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-7"
          },
          {
            "identity": "rim",
            "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime"
          },
          {
            "identity": "cda",
            "map": ".patient.birthTime"
          },
          {
            "identity": "loinc",
            "map": "21112-8"
          }
        ]
      }
    ]
  }
}