DSTU2 Ballot Source

This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

StructureDefinition: USLabPerformingLab

StructureDefinition for Performing Laboratory

{
  "resourceType": "StructureDefinition",
  "id": "org-uslab-uslabperforminglab",
  "text": {
    "status": "generated",
    "div": "<div>!-- Snipped for Brevity --></div>"
  },
  "url": "http://hl7.org/fhir/StructureDefinition/org-uslab-uslabperforminglab",
  "name": "US Laboratory Organization Profile",
  "publisher": "HL7 International - Orders and Observations WG",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org"
        }
      ]
    }
  ],
  "description": "Performing Laboratory",
  "status": "draft",
  "date": "2014-11-17",
  "type": "constraint",
  "abstract": false,
  "base": "http://hl7.org/fhir/StructureDefinition/Organization",
  "snapshot": {
    "element": [
      {
        "path": "Organization",
        "name": "USLabPerformingLab",
        "short": "Performing Laboratory",
        "definition": "The Performing Laboratory is ths lab that produced the tests results.",
        "alias": [
          "Ordering Facility"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Organization"
          }
        ],
        "constraint": [
          {
            "key": "org-1",
            "name": "AtLeastANameOrId",
            "severity": "error",
            "human": "The organization SHALL at least have a name or an id, and possibly more than one",
            "xpath": "count(f:identifier | f:name) > 0"
          },
          {
            "key": "inv-1",
            "name": "NameandorID",
            "severity": "error",
            "human": "Shall have Organization.name and/or Organization.identifier.",
            "xpath": "exists(f:name) or exists(f:identifier)"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "(also see master files messages)"
          },
          {
            "identity": "rim",
            "map": "Organization(classCode=ORG, determinerCode=INST)"
          },
          {
            "identity": "servd",
            "map": "Organization"
          }
        ]
      },
      {
        "path": "Organization.id",
        "short": "Logical id of this artefact",
        "definition": "The logical id of the resource, as used in the url for the resoure. Once assigned, this value never changes.",
        "comments": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Bundles always have an id, though it is usually a generated UUID.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "id"
          }
        ]
      },
      {
        "path": "Organization.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 may not always be associated with version changes to the resource.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Meta"
          }
        ]
      },
      {
        "path": "Organization.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.",
        "comments": "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 as much as possible.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "uri"
          }
        ],
        "isModifier": true
      },
      {
        "path": "Organization.language",
        "short": "Language of the resource content",
        "definition": "The base language in which the resource is written.",
        "comments": "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\n\nNot 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",
        "type": [
          {
            "code": "code"
          }
        ],
        "binding": {
          "name": "Language",
          "strength": "required",
          "description": "A human language",
          "valueSetUri": "http://tools.ietf.org/html/bcp47"
        }
      },
      {
        "path": "Organization.text",
        "short": "Text summary of the resource, for human interpretation",
        "definition": "A human-readable narrative that contains a summary of the resource, and may 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.",
        "comments": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative.",
        "alias": [
          "narrative",
          "html",
          "xhtml",
          "display"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Narrative"
          }
        ],
        "condition": [
          "dom-1"
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Act.text?"
          }
        ]
      },
      {
        "path": "Organization.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.",
        "comments": "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.",
        "alias": [
          "inline resources",
          "anonymous resources",
          "contained resources"
        ],
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Resource"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Organization.extension",
        "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. In order 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.",
        "comments": "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": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Organization.modifierExtension",
        "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. Usually modifier elements provide negation or qualification. In order 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.",
        "comments": "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": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Organization.identifier",
        "slicing": {
          "discriminator": [
            "system"
          ],
          "ordered": true,
          "rules": "open"
        },
        "short": "Identifies this organization  across multiple systems",
        "definition": "Identifier for the organization that is used to identify the organization across multiple disparate systems.",
        "requirements": "Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "org-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XON.10 Organization Identifier / XON.3 ID Number"
          },
          {
            "identity": "rim",
            "map": ".scopes[Role](classCode=IDENT)"
          },
          {
            "identity": "servd",
            "map": "./Identifiers"
          }
        ]
      },
      {
        "path": "Organization.identifier",
        "name": "USLabPerformingLabCLIA",
        "short": "Identifies this organization  across multiple systems",
        "definition": "Identifier for the organization that is used to identify the organization across multiple disparate systems.",
        "requirements": "Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "org-1"
        ],
        "mustSupport": true,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XON.10 Organization Identifier / XON.3 ID Number"
          },
          {
            "identity": "rim",
            "map": ".scopes[Role](classCode=IDENT)"
          },
          {
            "identity": "servd",
            "map": "./Identifiers"
          }
        ]
      },
      {
        "path": "Organization.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": "1",
        "type": [
          {
            "code": "id"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.identifier.extension",
        "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. In order 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.",
        "comments": "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": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "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.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "mustSupport": true,
        "isModifier": true,
        "binding": {
          "name": "IdentifierUse",
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "path": "Organization.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.",
        "comments": "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.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "name": "IdentifierType",
          "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/vs/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "path": "Organization.identifier.system",
        "short": "See https://www.cms.gov/Regulations-and-Guidance/Legislation/CLIA/Laboratory_Registry.html",
        "definition": "See https://www.cms.gov/Regulations-and-Guidance/Legislation/CLIA/Laboratory_Registry.html.",
        "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",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "urn:oid:2.16.840.1.113883.4.7",
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the id itself is a full uri",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "path": "Organization.identifier.value",
        "short": "CLIA Number",
        "definition": "CLIA Number.",
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "exampleString": "123456",
        "mustSupport": 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": "Organization.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": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "path": "Organization.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "comments": "The reference may be just a text description of the assigner.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "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"
          }
        ]
      },
      {
        "path": "Organization.name",
        "short": "Name used for the organization",
        "definition": "A name associated with the organization.",
        "requirements": "Need to use the name as the label of the organization.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "org-1"
        ],
        "mustSupport": true,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XON.1 Organization Name"
          },
          {
            "identity": "rim",
            "map": ".name"
          },
          {
            "identity": "servd",
            "map": ".PreferredName/Name"
          }
        ]
      },
      {
        "path": "Organization.type",
        "short": "Kind of organization",
        "definition": "The kind of organization that this is.",
        "comments": "Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes.",
        "requirements": "Need to be able to track the kind of organization that this is - different organization types have different uses.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "name": "OrganizationType",
          "strength": "example",
          "description": "Used to categorize the organization",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/organization-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "No equivalent in v2"
          },
          {
            "identity": "rim",
            "map": ".code"
          },
          {
            "identity": "servd",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.telecom",
        "short": "A contact detail for the organization",
        "definition": "A contact detail for the organization.",
        "comments": "The use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.",
        "requirements": "Human contact for the organization.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint"
          }
        ],
        "condition": [
          "org-3"
        ],
        "constraint": [
          {
            "key": "org-3",
            "name": "NoHomeUseTelecom",
            "severity": "error",
            "human": "The telecom of an organization can never be of use 'home'",
            "xpath": "count(f:use[@value='home']) = 0"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "No authoritative equivalent in V2.x"
          },
          {
            "identity": "rim",
            "map": ".telecom"
          },
          {
            "identity": "servd",
            "map": "./ContactPoints"
          }
        ]
      },
      {
        "path": "Organization.address",
        "short": "An address for the organization",
        "definition": "An address for the organization.",
        "comments": "Organization may have multiple addresses with different uses or applicable periods. The use code home is not to be used.",
        "requirements": "May need to keep track of the organization's addresses for contacting, billing or reporting requirements.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Address"
          }
        ],
        "condition": [
          "org-2"
        ],
        "constraint": [
          {
            "key": "org-2",
            "name": "NoHomeUseAddress",
            "severity": "error",
            "human": "An address of an organization can never be of use 'home'",
            "xpath": "count(f:use[@value='home']) = 0"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "No authoritative equivalent in V2.x; some V2.x segments such as OBX might provide a serialized instance value"
          },
          {
            "identity": "rim",
            "map": ".address"
          },
          {
            "identity": "servd",
            "map": "./PrimaryAddress and ./OtherAddresses"
          }
        ]
      },
      {
        "path": "Organization.address.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": "1",
        "type": [
          {
            "code": "id"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.address.extension",
        "slicing": {
          "discriminator": [
            "url"
          ],
          "ordered": false,
          "rules": "open"
        },
        "short": "Extension",
        "definition": "An Extension",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ]
      },
      {
        "path": "Organization.address.extension",
        "name": "USLabCountycodes",
        "short": "County/Parish FIPS codes",
        "definition": "County/Parish FIPS codes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://hl7.org/fhir/StructureDefinition/us-core-county"
          }
        ],
        "mustSupport": true,
        "binding": {
          "name": "USFIPSCounty",
          "strength": "required",
          "description": "FIPS codes for US counties and county equivalent entities",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/fips-county"
          }
        }
      },
      {
        "path": "Organization.address.use",
        "short": "home | work | temp | old - purpose of this address",
        "definition": "The purpose of this address.",
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old address etc for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.",
        "requirements": "Allows an appropriate address to be chosen from a list of many.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "exampleCode": "home",
        "isModifier": true,
        "binding": {
          "name": "AddressUse",
          "strength": "required",
          "description": "The use of an address",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/address-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.7"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./AddressPurpose"
          }
        ]
      },
      {
        "path": "Organization.address.text",
        "short": "Text representation of the address",
        "definition": "A full text representation of the address.",
        "comments": "Can provide both a text representation and parts.",
        "requirements": "A renderable, unencoded form.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "exampleString": "137 Nowhere Street, Erewhon 9132",
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6"
          },
          {
            "identity": "rim",
            "map": "./formatted"
          }
        ]
      },
      {
        "path": "Organization.address.line",
        "short": "Street name, number, direction & P.O. Box etc",
        "definition": "This component contains the house number, apartment number, street name, street direction, \nP.O. Box number, delivery hints, and similar address information.",
        "requirements": "home | work | temp | old - purpose of this address.",
        "min": 0,
        "max": "2",
        "type": [
          {
            "code": "string"
          }
        ],
        "exampleString": "137 Nowhere Street",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "vcard",
            "map": "street address"
          },
          {
            "identity": "v2",
            "map": "XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = AL]"
          },
          {
            "identity": "servd",
            "map": "./StreetAddress (newline delimitted)"
          }
        ]
      },
      {
        "path": "Organization.address.city",
        "short": "Name of city, town etc.",
        "definition": "The name of the city, town, village or other community or delivery center.",
        "alias": [
          "Muncipality"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "exampleString": "Erewhon",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "vcard",
            "map": "locality"
          },
          {
            "identity": "v2",
            "map": "XAD.3"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = CTY]"
          },
          {
            "identity": "servd",
            "map": "./Jurisdiction"
          }
        ]
      },
      {
        "path": "Organization.address.state",
        "short": "Sub-unit of country (abreviations ok)",
        "definition": "Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).",
        "alias": [
          "Province",
          "Territory"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true,
        "binding": {
          "name": "USPSState",
          "strength": "required",
          "description": "Two letter USPS alphabetic codes.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/usps-state"
          }
        },
        "mapping": [
          {
            "identity": "vcard",
            "map": "region"
          },
          {
            "identity": "v2",
            "map": "XAD.4"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = STA]"
          },
          {
            "identity": "servd",
            "map": "./Region"
          }
        ]
      },
      {
        "path": "Organization.address.postalCode",
        "short": "US Zip Codes",
        "definition": "US Zip Codes.",
        "alias": [
          "Zip"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "exampleString": "9132",
        "constraint": [
          {
            "key": "inv-2",
            "name": "Regex for Zip",
            "severity": "error",
            "human": "(Zip or Postal Code) SHALL be formatted as 99999[-9999] for US Zip or ZIP +4 codes or as A9A9A9 for Canadian postal codes.",
            "xpath": "f:matches(issued,[0-9]{5}(-[0-9]{4}){0,1} )"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "vcard",
            "map": "postal code"
          },
          {
            "identity": "v2",
            "map": "XAD.5"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = ZIP]"
          },
          {
            "identity": "servd",
            "map": "./PostalIdentificationCode"
          }
        ]
      },
      {
        "path": "Organization.address.country",
        "short": "ISO 3166 3 letter Country Code",
        "definition": "ISO 3166 3 letter Country Code.",
        "comments": "ISO 3166 3 letter codes can be used in place of a full country name.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true,
        "binding": {
          "name": "USCountry",
          "strength": "extensible",
          "description": "ISO 2 letter Country Codes",
          "valueSetUri": "http://www.iso.org/iso/country_codes.htm"
        },
        "mapping": [
          {
            "identity": "vcard",
            "map": "country name"
          },
          {
            "identity": "v2",
            "map": "XAD.6"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = CNT]"
          },
          {
            "identity": "servd",
            "map": "./Country"
          }
        ]
      },
      {
        "path": "Organization.address.period",
        "short": "Time period when address was/is in use",
        "definition": "Time period when address was/is in use.",
        "requirements": "Allows addresses to be placed in historical context.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "examplePeriod": {
          "start": "2010-03-23",
          "end": "2010-07-01"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.12 / XAD.13 + XAD.14"
          },
          {
            "identity": "rim",
            "map": "./usablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "path": "Organization.partOf",
        "short": "The organization of which this organization forms a part",
        "definition": "The organization of which this organization forms a part.",
        "requirements": "Need to be able to track the hierarchy of organizations within an organization.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "No equivalent in V2.x"
          },
          {
            "identity": "rim",
            "map": ".playedBy[classCode=Part].scoper"
          },
          {
            "identity": "servd",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.contact",
        "short": "Medical Director",
        "definition": "The official contact for the laboratory is the medical director.",
        "requirements": "Need to keep track of assigned contact points within bigger organization.",
        "min": 0,
        "max": "1",
        "mustSupport": true,
        "mapping": [
          {
            "identity": "rim",
            "map": ".contactParty"
          }
        ]
      },
      {
        "path": "Organization.contact.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": "1",
        "type": [
          {
            "code": "id"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.contact.extension",
        "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. In order 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.",
        "comments": "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": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.contact.modifierExtension",
        "short": "Extensions that cannot be ignored",
        "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 that contains it. Usually modifier elements provide negation or qualification. In order 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.",
        "comments": "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",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Organization.contact.purpose",
        "short": "The type of contact",
        "definition": "Indicates a purpose for which the contact can be reached.",
        "requirements": "Need to distinguish between multiple contact persons.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "name": "ContactPartyType",
          "strength": "required",
          "description": "The purpose for which you would contact a contact party",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/contactentity-type"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "./type"
          }
        ]
      },
      {
        "path": "Organization.contact.name",
        "short": "A name associated with the contact",
        "definition": "A name associated with the contact.",
        "requirements": "Need to be able to track the person by name.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "HumanName"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-5, PID-9"
          },
          {
            "identity": "rim",
            "map": "./name"
          }
        ]
      },
      {
        "path": "Organization.contact.name.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": "1",
        "type": [
          {
            "code": "id"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.contact.name.extension",
        "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. In order 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.",
        "comments": "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": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Organization.contact.name.use",
        "short": "usual | official | temp | nickname | anonymous | old | maiden",
        "definition": "Identifies the purpose for this name.",
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.",
        "requirements": "Allows the appropriate name for a particular context of use to be selected from among a set of names.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "binding": {
          "name": "NameUse",
          "strength": "required",
          "description": "The use of a human name",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/name-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.7, but often indicated by which field contains the name"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./NamePurpose"
          }
        ]
      },
      {
        "path": "Organization.contact.name.text",
        "short": "Text representation of the full name",
        "definition": "A full text representation of the name.",
        "comments": "Can provide both a text representation and structured parts.",
        "requirements": "A renderable, unencoded form.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "implied by XPN.11"
          },
          {
            "identity": "rim",
            "map": "./formatted"
          }
        ]
      },
      {
        "path": "Organization.contact.name.family",
        "short": "Family name (often called 'Surname')",
        "definition": "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.",
        "comments": "For family name, hyphenated names such as \"Smith-Jones\" are a single name, but names with spaces such as \"Smith Jones\" are broken into multiple parts.",
        "alias": [
          "surname"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.1"
          },
          {
            "identity": "rim",
            "map": "./part[partType = FAM]"
          },
          {
            "identity": "servd",
            "map": "./FamilyName"
          }
        ]
      },
      {
        "path": "Organization.contact.name.given",
        "short": "Given names (not always 'first'). Includes middle names",
        "definition": "Given name.",
        "comments": "If only initials are recorded, they may be used in place of the full name.  Not called \"first name\" since given names do not always come first.",
        "alias": [
          "first name",
          "middle name"
        ],
        "min": 0,
        "max": "2",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.2 + XPN.3"
          },
          {
            "identity": "rim",
            "map": "./part[partType = GIV]"
          },
          {
            "identity": "servd",
            "map": "./GivenNames"
          }
        ]
      },
      {
        "path": "Organization.contact.name.prefix",
        "short": "Parts that come before the name",
        "definition": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.5"
          },
          {
            "identity": "rim",
            "map": "./part[partType = PFX]"
          },
          {
            "identity": "servd",
            "map": "./TitleCode"
          }
        ]
      },
      {
        "path": "Organization.contact.name.suffix",
        "short": "Parts that come after the name",
        "definition": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN/4"
          },
          {
            "identity": "rim",
            "map": "./part[partType = SFX]"
          }
        ]
      },
      {
        "path": "Organization.contact.name.period",
        "short": "Time period when name was/is in use",
        "definition": "Indicates the period of time when this name was valid for the named person.",
        "requirements": "Allows names to be placed in historical context.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.13 + XPN.14"
          },
          {
            "identity": "rim",
            "map": "./usablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "path": "Organization.contact.telecom",
        "short": "Contact details (telephone, email, etc)  for a contact",
        "definition": "A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.",
        "requirements": "People have (primary) ways to contact them in some way such as phone, email.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-13, PID-14"
          },
          {
            "identity": "rim",
            "map": "./telecom"
          }
        ]
      },
      {
        "path": "Organization.contact.address",
        "short": "Visiting or postal addresses for the contact",
        "definition": "Visiting or postal addresses for the contact.",
        "requirements": "May need to keep track of a contact party's address for contacting, billing or reporting requirements.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Address"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-11"
          },
          {
            "identity": "rim",
            "map": "./addr"
          }
        ]
      },
      {
        "path": "Organization.active",
        "short": "Whether the organization's record is still in active use",
        "definition": "Whether the organization's record is still in active use.",
        "comments": "Default is true.",
        "requirements": "Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "defaultValueBoolean": true,
        "isModifier": true,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "No equivalent in V2.x"
          },
          {
            "identity": "rim",
            "map": ".status"
          },
          {
            "identity": "servd",
            "map": "./Status (however this concept in ServD more covers why the organization is active or not, could be delisted, deregistered, not operational yet) this could alternatively be derived from ./StartDate and ./EndDate and given a context date."
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "path": "Organization",
        "name": "USLabPerformingLab",
        "short": "Performing Laboratory",
        "definition": "The Performing Laboratory is ths lab that produced the tests results.",
        "alias": [
          "Ordering Facility"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Organization"
          }
        ],
        "constraint": [
          {
            "key": "inv-1",
            "name": "NameandorID",
            "severity": "error",
            "human": "Shall have Organization.name and/or Organization.identifier.",
            "xpath": "exists(f:name) or exists(f:identifier)"
          }
        ]
      },
      {
        "path": "Organization.identifier",
        "slicing": {
          "discriminator": [
            "system"
          ],
          "ordered": true,
          "rules": "open"
        }
      },
      {
        "path": "Organization.identifier",
        "name": "USLabPerformingLabCLIA",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "inv-1"
        ],
        "mustSupport": true
      },
      {
        "path": "Organization.identifier.use",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.identifier.system",
        "short": "See https://www.cms.gov/Regulations-and-Guidance/Legislation/CLIA/Laboratory_Registry.html",
        "definition": "See https://www.cms.gov/Regulations-and-Guidance/Legislation/CLIA/Laboratory_Registry.html.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "urn:oid:2.16.840.1.113883.4.7",
        "mustSupport": true
      },
      {
        "path": "Organization.identifier.value",
        "short": "CLIA Number",
        "definition": "CLIA Number.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.name",
        "min": 0,
        "max": "1",
        "condition": [
          "inv-1"
        ],
        "mustSupport": true
      },
      {
        "path": "Organization.address",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.address.extension",
        "slicing": {
          "discriminator": [
            "url"
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "path": "Organization.address.extension",
        "name": "USLabCountycodes",
        "short": "County/Parish FIPS codes",
        "definition": "County/Parish FIPS codes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": "http://hl7.org/fhir/StructureDefinition/us-core-county"
          }
        ],
        "mustSupport": true,
        "binding": {
          "name": "USFIPSCounty",
          "strength": "required",
          "description": "FIPS codes for US counties and county equivalent entities",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/fips-county"
          }
        }
      },
      {
        "path": "Organization.address.line",
        "min": 0,
        "max": "2",
        "mustSupport": true
      },
      {
        "path": "Organization.address.city",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.address.state",
        "min": 0,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "name": "USPSState",
          "strength": "required",
          "description": "Two letter USPS alphabetic codes.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/vs/usps-state"
          }
        }
      },
      {
        "path": "Organization.address.postalCode",
        "short": "US Zip Codes",
        "definition": "US Zip Codes.",
        "min": 0,
        "max": "1",
        "condition": [
          "inv-2"
        ],
        "constraint": [
          {
            "key": "inv-2",
            "name": "Regex for Zip",
            "severity": "error",
            "human": "(Zip or Postal Code) SHALL be formatted as 99999[-9999] for US Zip or ZIP +4 codes or as A9A9A9 for Canadian postal codes.",
            "xpath": "f:matches(issued,[0-9]{5}(-[0-9]{4}){0,1} )"
          }
        ],
        "mustSupport": true
      },
      {
        "path": "Organization.address.country",
        "short": "ISO 3166 3 letter Country Code",
        "definition": "ISO 3166 3 letter Country Code.",
        "min": 0,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "name": "USCountry",
          "strength": "extensible",
          "description": "ISO 2 letter Country Codes",
          "valueSetUri": "http://www.iso.org/iso/country_codes.htm"
        }
      },
      {
        "path": "Organization.contact",
        "short": "Medical Director",
        "definition": "The official contact for the laboratory is the medical director.",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.contact.name",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "HumanName"
          }
        ],
        "mustSupport": true
      },
      {
        "path": "Organization.contact.name.family",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.contact.name.given",
        "min": 0,
        "max": "2",
        "mustSupport": true
      },
      {
        "path": "Organization.contact.name.prefix",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "path": "Organization.contact.name.suffix",
        "min": 0,
        "max": "1",
        "mustSupport": true
      }
    ]
  }
}