PackagesCanonicalsLogsProblems
    Packages
    swiss.mednet.fhir@0.19.0
    https://mednet.swiss/fhir/StructureDefinition/mni-patient
description: MedNet Interface (MNI) - Patient Profile
package_name: swiss.mednet.fhir
derivation: constraint
name: MNIPatient
type: Patient
elements:
  address: {type: Address, mustSupport: true, index: 22}
  name: {type: HumanName, mustSupport: true, index: 18}
  implicitRules: {mustSupport: false, index: 1}
  birthDate: {mustSupport: true, index: 21}
  extension:
    short: Extension
    type: Extension
    mustSupport: true
    array: true
    base: {max: '*', min: 0, path: DomainResource.extension}
    index: 3
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        citizenship:
          match: {url: null}
          schema:
            constraint:
              ch-pat-3: {human: ISO Country Alpha-2 or ISO Country Alpha-3 code, severity: error, expression: '(extension.where(url=''code'').value.coding.code.length()=2 and extension.where(url=''code'').value.coding.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-2'')) or (extension.where(url=''code'').value.coding.code.length()=3 and extension.where(url=''code'').value.coding.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-3''))'}
            isModifier: false
            short: Citizenship(s) of patient
            type: Extension
            mustSupport: true
            url: http://hl7.org/fhir/StructureDefinition/patient-citizenship|5.2.0
            base: {max: '*', min: 0, path: DomainResource.extension}
            index: 4
          min: 0
  contained: {short: It is possible to include the generalPractitioner or a contact organization as embedded resource in this contained object. This way it is not needed to include it in the Bundle, mustSupport: true, index: 2}
  photo:
    short: currently ignored by MedNet, but could be implemented in the future
    mustSupport: true
    index: 33
    elements:
      contentType: {mustSupport: true, index: 34}
      data: {mustSupport: true, index: 35}
      url: {mustSupport: true, index: 36}
      size: {mustSupport: true, index: 37}
      hash: {mustSupport: true, index: 38}
    required: [contentType]
  communication:
    mustSupport: true
    index: 59
    elements:
      language:
        mustSupport: true
        index: 60
        elements:
          coding:
            mustSupport: true
            index: 61
            elements:
              system:
                pattern: {type: Uri, value: 'urn:ietf:bcp:47'}
                mustSupport: true
                index: 62
              code: {mustSupport: true, index: 63}
              display: {mustSupport: true, index: 64}
            required: [system, code]
        required: [coding]
      preferred: {mustSupport: true, index: 65}
  id: {short: 'The id is unique within the space of all resources of the same type on the same server It can be any combination of upper- or lower-case ASCII letters ''A''..''Z'', and ''a''..''z'', numerals (''0''..''9''), ''-'' and ''.'' with a length limit of 64 characters. (This might be an integer, an un-prefixed OID, UUID or any other identifier pattern that meets these constraints.)', mustSupport: true, index: 0}
  identifier:
    mustSupport: true
    index: 6
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      - {path: type.coding.system, type: value}
      - {path: type.coding.code, type: value}
      min: null
      slices:
        AHVN13:
          match:
            system: urn:oid:2.16.756.5.32
            type:
              coding: {system: null, code: null}
          schema:
            short: AHVN13 / NAVS13
            mustSupport: true
            index: 7
            elements:
              system:
                pattern: {type: Uri, value: 'urn:oid:2.16.756.5.32'}
                mustSupport: true
                index: 8
              value: {short: AHVN13 / NAVS13 of the patient (13 digits starting ith 756), mustSupport: true, index: 9}
            required: [value, system]
        LocalPid:
          match:
            system: null
            type:
              coding: {system: 'http://terminology.hl7.org/CodeSystem/v2-0203', code: MR}
          schema:
            short: Local patient identifiers
            mustSupport: true
            index: 10
            elements:
              type:
                mustSupport: true
                index: 11
                elements:
                  coding:
                    mustSupport: true
                    index: 12
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                        mustSupport: true
                        index: 13
                      code:
                        pattern: {type: Code, value: MR}
                        mustSupport: true
                        index: 14
                      display:
                        pattern: {type: String, value: Medical record number}
                        mustSupport: true
                        index: 15
                    required: [system, code]
                required: [coding]
              system: {short: 'Uri that defines the Software that delivers the Patient ID. If possible this uri should be unique for each Patient database  for example https://mysoftware.ch/patientDB/123456', mustSupport: true, index: 16}
              value: {mustSupport: true, index: 17}
            required: [value, type]
  telecom: {type: ContactPoint, mustSupport: true, index: 19}
  generalPractitioner:
    type: Reference
    short: Patient's nominated primary care provider. We allow multiple general practitioner, since gynecologist can also be listed as general practitioner
    mustSupport: true
    refers: ['https://mednet.swiss/fhir/StructureDefinition/mni-practitionerRole']
    index: 66
  gender: {mustSupport: true, index: 20}
  maritalStatus:
    binding: {strength: required, valueSet: 'http://fhir.ch/ig/ch-core/ValueSet/ch-core-maritalstatus'}
    mustSupport: true
    index: 23
    elements:
      coding:
        index: 24
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: system, type: value}
          - {path: code, type: value}
          min: null
          slices:
            international:
              match: {system: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus', code: null}
              schema:
                mustSupport: true
                index: 25
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus'}
                    mustSupport: true
                    index: 26
                  code: {short: 'Authorized values : S (Never Married) |  M (Married) |  W (Widowed) |  D (Divorced) |  U (unmarried) |  T (Domestic partner) |  L (Legally Separated) |  A (Annulled) | I (Interlocutory) | P (Polygamous) | C (Common Law)', mustSupport: true, index: 27}
                  display: {short: 'Authorized values :  Never Married (S) |  Married (M) |  Widowed (W) |  Divorced (D) |  unmarried (U) |  Domestic partner (T) |  Legally Separated (L) |  Annulled (A) | Interlocutory (I)) | Polygamous (P)) | Common Law (C)', mustSupport: true, index: 28}
                required: [system, code]
            swiss:
              match: {system: 'http://fhir.ch/ig/ch-core/CodeSystem/ech-11-maritalstatus', code: null}
              schema:
                mustSupport: true
                index: 29
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://fhir.ch/ig/ch-core/CodeSystem/ech-11-maritalstatus'}
                    mustSupport: true
                    index: 30
                  code: {short: 'Authorized values : 1 (Unmarried) |  2 (Married) |  3 (Widowed) |  4 (Divorced) |  5 (Unmarried) |  6 (Domestic partner) |  7 (Legally Separated) |  9 (Unknown)', mustSupport: true, index: 31}
                  display: {short: 'Authorized values :  Unmarried (1) |  Married (2) |  Widowed (3) |  Divorced (4) |  Unmarried (5) |  Domestic partner (6) |  Legally Separated (7) |  Unknown (9).', mustSupport: true, index: 32}
                required: [system, code]
  contact:
    index: 39
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: relationship.coding.system, type: value}
      - {path: relationship.coding.code, type: value}
      min: null
      slices:
        MNIContact:
          match:
            relationship:
              coding: {system: null, code: null}
          schema:
            mustSupport: true
            index: 40
            elements:
              relationship:
                mustSupport: true
                index: 41
                slicing:
                  rules: open
                  discriminator:
                  - {path: coding.system, type: value}
                  - {path: coding.code, type: value}
                  min: null
                  slices:
                    KIND:
                      match:
                        coding: {system: 'http://terminology.hl7.org/CodeSystem/v2-0131', code: null}
                      schema:
                        short: Kind of relation ship, for example Emergency contact, Employer
                        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/patient-contactrelationship'}
                        mustSupport: true
                        index: 42
                        elements:
                          coding:
                            mustSupport: true
                            index: 43
                            elements:
                              system:
                                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0131'}
                                mustSupport: true
                                index: 44
                              code: {short: C (Emergency Contact) | E (Employer) | F (Federal Agency) | I (Insurance Company) | N (Next-of-Kin) | S (State Agency) | U (Unknown), mustSupport: true, index: 45}
                              display: {mustSupport: true, index: 46}
                            required: [system, code]
                          text: {short: 'If the relationship can not be coded, it can be described in plain text in this field', mustSupport: true, index: 47}
                    FamilyMember:
                      match:
                        coding: {system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode', code: null}
                      schema:
                        short: FamilyMember relation ship, for example sister
                        binding: {strength: required, valueSet: 'http://terminology.hl7.org/ValueSet/v3-FamilyMember'}
                        mustSupport: true
                        index: 48
                        elements:
                          coding:
                            mustSupport: true
                            index: 49
                            elements:
                              system:
                                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                                mustSupport: true
                                index: 50
                              code: {short: CHILD (child) | DAU (natural daugher) | SON (natural son) | FTH (father) | MTH (mother) | ..., mustSupport: true, index: 51}
                              display: {mustSupport: true, index: 52}
                            required: [system, code]
                          text: {short: 'If the relationship can not be coded, it can be described in plain text in this field', mustSupport: true, index: 53}
              name: {type: HumanName, mustSupport: true, index: 54}
              telecom: {type: ContactPoint, mustSupport: true, index: 55}
              address: {type: Address, mustSupport: true, index: 56}
              gender: {mustSupport: true, index: 57}
              organization:
                type: Reference
                mustSupport: true
                refers: ['https://mednet.swiss/fhir/StructureDefinition/mni-organization']
                index: 58
  modifierExtension: {mustSupport: false, index: 5}
package_version: 0.19.0
extensions:
  citizenship:
    constraint:
      ch-pat-3: {human: ISO Country Alpha-2 or ISO Country Alpha-3 code, severity: error, expression: '(extension.where(url=''code'').value.coding.code.length()=2 and extension.where(url=''code'').value.coding.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-2'')) or (extension.where(url=''code'').value.coding.code.length()=3 and extension.where(url=''code'').value.coding.code.memberOf(''http://hl7.org/fhir/ValueSet/iso3166-1-3''))'}
    min: 0
    isModifier: false
    short: Citizenship(s) of patient
    index: 4
    type: Extension
    mustSupport: true
    url: http://hl7.org/fhir/StructureDefinition/patient-citizenship|5.2.0
    base: {max: '*', min: 0, path: DomainResource.extension}
class: profile
kind: resource
url: https://mednet.swiss/fhir/StructureDefinition/mni-patient
base: http://hl7.org/fhir/StructureDefinition/Patient
version: 0.19.0