diff --git a/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..37c13507 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,274 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support Feldern

+

Account.extension:Abrechnungsdiagnose

+

Bedeutung: DRG- und hiervon abweichende Krankenhausdiagnosen sollten im Account zusammenfassend und abschließend angegeben werden. Relevante Prozeduren können ebenfalls aufgelistet werden.

+

Account.identifier

+

Bedeutung: Der Account muss die Abrechnungsnummer des referenzierenden Kontaktes (Encounter) enthalten. Dies entspricht dem Wert des Elements Encounter.account.identifier.

+

Account.status

+

Bedeutung: Der Status MUSS insbesondere zur Differenzierung von abgeschlossenen und derzeitig noch aktiven Abrechnungsfällen angegeben werden. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "active", "inactive". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

+

Account.type

+

Bedeutung: Alle Accounts MÜSSEN eindeutig kategorisiert werden können, sodass eine Filterung pro Typ möglich ist.

+

Hinweise: Verpflichtende Kodierung per HL7 v3 Value Set ActEncounterCode als Äquivalent zu Encounter.class.

+

Account.subject

+

Bedeutung: Ein Patientenbezug des Falls MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Account.coverage

+

Bedeutung: Pro Abrechnungskontext (z.B. Selbstzahler, DRG, PEPP) sollte ein eigener Account angelegt werden. Für jeden Account sollte ersichtlich sein über welche Coverage der Account beglichen werden soll.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Beispiele.html new file mode 100644 index 00000000..3be302ae --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Beispiele.html @@ -0,0 +1,314 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKAbrechnungsfall:

+

{
+    "resourceType": "Account",
+    "id": "AbrechnungsfallAmbulant",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall"
+        ]
+    },
+    "identifier":  [
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "AN",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "https://test.krankenhaus.de/fhir/sid/abrechnungsnummer",
+            "value": "0123456789"
+        }
+    ],
+    "status": "active",
+    "type": {
+        "coding":  [
+            {
+                "code": "AMB",
+                "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
+            }
+        ]
+    },
+    "subject":  [
+        {
+            "reference": "Patient/PatientinMusterfrau"
+        }
+    ],
+    "coverage":  [
+        {
+            "extension":  [
+                {
+                    "url": "http://fhir.de/StructureDefinition/ExtensionAbrechnungsart",
+                    "valueCoding": {
+                        "code": "DRG",
+                        "system": "http://fhir.de/CodeSystem/dkgev/Abrechnungsart",
+                        "display": "Diagnosebezogene Fallgruppen"
+                    }
+                }
+            ],
+            "coverage": {
+                "reference": "Coverage/CoverageGesetzlich"
+            }
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Interaktionen.html new file mode 100644 index 00000000..bd95eed1 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Interaktionen.html @@ -0,0 +1,289 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Account MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?identifier=http://test.krankenhaus.de/fhir/sid/fallnr|123456

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "type" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?type=http://terminology.hl7.org/CodeSystem/v3-ActCode|AMB

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  8. +
  9. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
    +
  10. +
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Kompatibilitaet.html new file mode 100644 index 00000000..fffc3dbd --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Kompatibilitaet.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Motivation.html new file mode 100644 index 00000000..3bab8786 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Motivation.html @@ -0,0 +1,265 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Komplementär zum Datenobjekt "Kontakt - Encounter" können Fälle, im Sinne einer Gruppierung von medizinischen Leistungen, innerhalb eines gemeinsamen Kontextes, zu einem Abrechnungsfall zusammengefasst werden. +Ein solcher Abrechnungsfall kann mehrere Kontakte umfassen (z.B. vorstationärer Besuch, stationärer Aufenthalt und nachstationärer Besuch).

+

Gemeinsam mit dem Einrichtungskontakt bildet der Abrechnungsfall einen wichtigen Einstiegspunkt in die Dokumentation der Behandlungsleistungen der Patienten. +Als Bindeglied zwischen den Kontakten und dem Versicherungsverhältnis erfolgt eine feingranulare Auflistung, in welchen Zeiträumen ein Behandlungskontext zwischen einer Gesundheitseinrichtung und der Patienten bestand. +Zudem werden Diagnosen abschließend / nachträglich dokumentiert, sodass eine Übersicht von relevanten (DRG)-Diagnosen ermöglicht wird, ohne die Gesamtheit aller Kontakte betrachten zu müssen.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Profil.html new file mode 100644 index 00000000..df44fa5c --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Abrechnungsfall-Abrechnungsfall_Profil.html @@ -0,0 +1,507 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKAbrechnungsfallhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall
+

idS Σ0..1System.String
AbrechnungsDiagnoseProzedurS I0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
typeS Σ1..1CodeableConceptBinding
nameΣ0..1string
subjectS Σ I1..1Reference(Patient)
servicePeriodΣ I0..1Period
AbrechnungsartS I1..1Extension(Coding)
coverageS Σ I1..1Reference(Coverage)
priorityΣ0..1positiveInt
ownerΣ I0..1Reference(Organization)
descriptionΣ0..1string
partyI1..1Reference(Patient | RelatedPerson | Organization)
onHold0..1boolean
periodI0..1Period
partOfI0..1Reference(Account)

+

Weitere Hinweise zu den Abgrenzungen der Begrifflichkeiten Fall und Kontakt finden sie unter Deutsche Basisprofile - Abschnitt Ambulanter/stationärer Fall / Kontakt (Encounter).

+
+

Terminology Bindings

+ +
PathNameStrengthURL
Account.typeISiKAccountTyperequiredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKAccountType
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..57eb2d7b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,280 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support-Feldern

+

RelatedPerson.name

+

Bedeutung: Name der angehörigen Person

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.patient

+

Bedeutung: Referenz zum verwandten Patient

+

RelatedPerson.address.type

+

Bedeutung: Die Art der Adresse (physisch / postalisch)

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.line

+

Bedeutung: Enthält Straßenname, Hausnummer, Richtung, Postfach und ähnliche Adressinformationen

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.city

+

Bedeutung: Enthält Name der Stadt oder des Ortes

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.postalCode

+

Bedeutung: Postleitzahl für das Gebiet

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.country

+

Bedeutung: Land (kann z. B. ein ISO 3166-Code mit 2 oder 3 Buchstaben sein)

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Beispiele.html new file mode 100644 index 00000000..e91de153 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Beispiele.html @@ -0,0 +1,292 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKAngehoeriger:

+

{
+    "resourceType": "RelatedPerson",
+    "id": "ISiKAngehoerigerMustermann",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger"
+        ]
+    },
+    "patient": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "name":  [
+        {
+            "family": "Mustermann",
+            "given":  [
+                "Maxine"
+            ]
+        }
+    ],
+    "address":  [
+        {
+            "type": "both",
+            "line":  [
+                "Milchstr. 42"
+            ],
+            "city": "Beispielstadt",
+            "postalCode": "78143",
+            "country": "DE"
+        }
+    ]
+}

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Interaktionen.html new file mode 100644 index 00000000..b9f4af21 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Interaktionen.html @@ -0,0 +1,301 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource RelatedPerson MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.patient" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  4. +
  5. Die Suche nach einem beliebigen Bestandteil des Namens KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?name=Heidi

    +

    GET [base]/RelatedPerson?name=Alpenzauber

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  6. +
  7. Der Suchparameter "address" KANN unterstützt werden:

    +

    Beispiele

    +

    GET [base]/RelatedPerson?address=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
      +
    1. Der Suchparameter "address-city" KANN unterstützt werden:
    2. +
    +

    Beispiele:

    +

    GET [base]/RelatedPerson?address-city=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address.city" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  8. +
  9. Der Suchparameter "address-country" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?address-country=DE

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address.country" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  10. +
  11. Der Suchparameter "address-postalcode" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?address-postalcode=10117

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address.postalCode" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
    +
  12. +
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Kompatibilitaet.html new file mode 100644 index 00000000..e661b588 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Kompatibilitaet.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Motivation.html new file mode 100644 index 00000000..cc61e61e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Motivation.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Der Angehörige wird vor allem im Zusammenhang mit Anwendungsszenarien verwendet, in denen das Versicherungsverhältnis eine Rolle spielt. Hier können Angehörige, bspw. der hauptversicherte Elternteil eines minderjährigen Kindes, in der Familienversicherung sein. In Selbstzahler-Szenarien können Angehörige die Zahler für eine im Krankenhaus erbrachte Leistung sein.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Profil.html new file mode 100644 index 00000000..2b984033 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Angehoeriger-Angehoeriger_Profil.html @@ -0,0 +1,795 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKAngehoerigerhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger
+

identifierΣ0..*Identifier
activeΣ ?!0..1boolean
referenceΣ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
relationshipΣ0..*CodeableConceptBinding
nameS Σ I1..1HumanName, deutsches Basisprofil
telecomΣ I0..*ContactPoint
Geschlecht-AdministrativI0..*Extension(Coding)
birthDateΣ0..1date
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
photoI0..*Attachment
periodI0..1Period
language1..1CodeableConceptBinding
preferred0..1boolean

+ + + +
keyseverityhumanexpression
relatedp-de-1errorFalls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werdengender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..82ffb04c --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,337 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support-Feldern

+

Composition.id

+

Bedeutung: Subsystem-interne Datensatz-ID

+

Composition.profile

+

Bedeutung: Erklärung zur Konformität zum ISiK-Profil

+

Composition.text

+

Bedeutung: menschenlesbare Repräsentation des Dokumentenkopfes (Metadaten)

+

Hinweise: Die Mindestanforderungen an den Inhalt der menschenlesbaren Repräsentation umfasst folgende Informationen:

+
    +
  • Composition.subject:Patient.name.family
  • +
  • Composition.subject:Patient.birthDate
  • +
  • Composition.subject:Patient.identifier:pid
  • +
  • Composition.status
  • +
  • Composition.type.text
  • +
  • Composition.date
  • +
  • Composition.title
  • +
  • Composition.author.display
  • +
+

Composition.identifier

+

Bedeutung: Subsystem-seitig zugewiesener Identifier des Berichtes mit Angabe der URL des vom Subsystem verwendeten Namensraumes

+

Hinweise: Werden eigene Identifier bzw. NamingSystems verwendet, so sei auf den Leitfaden der Basisprofile Deutschland (HL7 Deutschland) zu den Best-Practices bei Namensräumen verwiesen.

+

Dazu ein Beispiel für einen Identifier eines Sub-System-Berichts:

+
+<identifier>
+    <system value="https://fhir.krankenhaus.example/sid/system-a/berichtnummer" />
+    <value value="0123456789" />
+</identifier>
+
+
+
+

Die Verwendung von OIDs ist möglich, wird jedoch nicht empfohlen. Für die Verwendnung von OIDs KANN folgendes Format verwendet werden:

+
    +
  • Das Feld system enthält den festen Wert "urn:ietf:rfc:3986"
  • +
  • Das Feld value enthält die OID mit dem Präfix "urn:oid:"
  • +
+

Beispiel:

+
+<identifier>
+    <system value="urn:ietf:rfc:3986"/>
+    <value value="urn:oid:2.16.840.1.113883.6.96"/>
+</identifier>
+
+
+
+

Composition.status

+

Bedeutung: Status des Dokumentes

+

Composition.type

+

Bedeutung: Dokumenttyp

+

Hinweise: In der aktuellen Ausbaustufe von ISiK ist textuelle Repräsentation des Dokumenttyps (type.text) ausreichend. Die darüber hinausgehende Codierung des Dokumenttyps (z.B. mit LOINC, IHE-Typecodes oder KDL) in type.coding KANN implementiert werden

+

Composition.subject

+

Bedeutung: Patientenbezug des Dokumentes

+

Composition.encounter

+

Bedeutung: Fallbezug des Dokumentes

+

Composition.date

+

Bedeutung: Datum der letzten Änderung am Dokument

+

Composition.author.display

+

Bedeutung: Autor des Dokumentes (Person, Subsystem)

+

Hinweise: In der aktuellen Ausbaustufe von ISiK ist die Verwendung der textuellen Repräsentation (display) von Autor und Subsystem ausreichend. Die darüber hinaus gehende Verlinkung auf Practitioner bzw. Device-Ressourcen KANN implementiert werden.

+

Composition.title

+

Bedeutung: Dokumentenbezeichnung

+

Hinweise: Die Dokumentenbezeichnung dient der Darstellung des Dokumentes in einer Übersicht, z.B. in einer Patientenakte, und KANN der schnellen Auffindbarkeit eines gesuchten Dokumentes dienen. Geeignete Bezeichnungen sind zum Beispiel

+
    +
  • "Kleines Blutbild vom 13.10.2020"
  • +
  • "Pathologiebefund (Abstrich) vom 13.10.2020"
  • +
  • "Blutgasmessung vom 13.10.2020 14:14h"
  • +
+

Composition.section.title

+

Bedeutung: Kapitelüberschrift

+

Composition.section.text

+

Bedeutung: menschenlesbare Repräsentation des Inhalts eines Kapitels

+

Hinweise: Für Aggregation einer vollständigen menschenlesbaren Repräsentation MÜSSEN die Repräsentationen der einzelnen Kapitel an die Repräsentation der Metadaten (Composition.text) angehängt werden. Für die Separierung KÖNNEN einfache <div>-Tags verwendet werden. +Es ist zu beachten, dass Kapitel auch Unterkapitel enthalten KÖNNEN (Composition.section.section), die bei der Aggregation entsprechend berücksichtigt werden MÜSSEN.

+

Die Mindestanforderungen an den Inhalt der menschenlesbaren Repräsentation umfasst folgende Informationen:

+
    +
  • section.title + Freitext oder
  • +
  • section.title + Resource.text der referenzierten Ressource oder
  • +
  • section.title + eine aggregierte Repräsentation von Resource.text wenn in einer Section mehrere Ressourcen referenziert werden.
  • +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Beispiele.html new file mode 100644 index 00000000..38c19feb --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Beispiele.html @@ -0,0 +1,316 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

{
+    "resourceType": "Composition",
+    "id": "composition-blutdruck",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme"
+        ]
+    },
+    "status": "final",
+    "text": {
+        "status": "extensions",
+        --- We have skipped the narrative for better readability of the resource ---
+    },
+    "identifier": {
+        "type": {
+            "coding":  [
+                {
+                    "code": "FILL",
+                    "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                }
+            ]
+        },
+        "system": "https://fhir.krankenhaus.example/sid/system-a/berichtnummer",
+        "value": "0123456789"
+    },
+    "type": {
+        "coding":  [
+            {
+                "code": "55112-7",
+                "system": "http://loinc.org"
+            }
+        ]
+    },
+    "subject": {
+        "reference": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345"
+    },
+    "encounter": {
+        "reference": "urn:uuid:74b46c1a-6fc9-11ed-a1eb-0242ac198765"
+    },
+    "date": "2022-05-03",
+    "author":  [
+        {
+            "type": "Device",
+            "display": "Gerät XY, Fa. Z, Modell T"
+        }
+    ],
+    "title": "Blutdruckmessung vom 3.5.2022",
+    "section":  [
+        {
+            "title": "Messung",
+            "text": {
+                "status": "generated",
+                "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table><tr><td><b>Systolisch</b></td><td><b>Diastolisch</b></td><td><b>Einheit</b></td><td><b>Uhrzeit</b></td></tr><tr><td>140</td><td>110</td><td>mmHG</td><td>17:15h</td></tr></table></div>"
+            }
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Interaktionen.html new file mode 100644 index 00000000..e4430f90 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Interaktionen.html @@ -0,0 +1,551 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Die Rückübermittlung eines Document-Bundles an ein Primärsystem erfolgt mittels einer 'POST'-Interaktion auf den Endpunkt des Primärsystems.

+

Beispiele:

+

POST [base]/ mit einer FHIR-Bundle Ressource im Request-Body.

+

Anwendungshinweise: Weitere Informationen zu den verschiedenen Endpunkten für Dokumente finden sich in der FHIR-Basisspezifikation - Abschnitt "Document End-Points".

+

Das Bundle dient der Aggregation aller Ressourcen, die Bestandteil des Dokumentes sind. Dabei ist die erste Ressource im Bundle (Bundle.entry.resource) stets eine Composition, alle weiteren Entries enthalten zusätzliche Ressourcen, auf die die Composition verweist.

+

Falls die im Dokumenten-Bundle enthaltene Patient-Ressource und/oder Encounter-Ressource nicht anhand der Business-Identifier oder anderer Matching-Kriterien im empfangenden System gefunden werden kann (d.h. der Patient oder der Encounter existiert im empfangenden System noch nicht), MUSS als Antwort der HTTP Status Code "422 - Unprocessable Entity" zurückgegeben werden. Im Body der Response ist eine OperationOutcome zurückzugeben, welche ein Issue mit dem Verweis auf die nicht auflösbare Referenz enthält. Zur Kodierung von OperationOutcome.issue.code MUSS als Code "processing" verwendet werden.

+

Das Bundle muss folgendem Profil entsprechen: +

identifierS Σ1..1Identifier
typeS Σ1..1codeBindingFixed Value
timestampS Σ1..1instant
totalΣ I0..1unsignedInt
relationΣ1..1string
urlΣ1..1uri
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
fullUrlΣ0..1uri
resourceΣ I0..1ISiKBerichtSubSysteme
modeΣ0..1codeBinding
scoreΣ0..1decimal
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

+

Unterscheidungshinweis: Informationen zu Interaktionen mit Dokument-Binaries finden sich im Modul ISiK Dokumentenaustausch - Abgrenzung zu ISiK Stufe 2.

+

Verarbeitung des Dokumentes

+

Hinweis: Die nachfolgenden Regeln für die Verarbeitung eines Dokumentes gelten nur für Document-Bundles die an den oben genannten Endpunkt gesendet werden. Weitere ISiK-Module können Regeln für die Verarbeitung von anderen Bundle-Typen (z.B. 'transaction') aufstellen.

+

In der aktuellen Ausbaustufe von ISiK MUSS ein empfangenes Dokument in folgenden Schritten verarbeitet werden:

+
    +
  1. Extraktion der Patient-Ressource aus dem Bundle und Herstellung des Patientenbezuges anhand eines eindeutigen Identifiers ('Patient.identifier') oder ähnlich identifizieren Merkmalen
  2. +
  3. Extraktion der Encounter.Ressource aus dem Bundle und Herstellung des Fallbezuges anhand der Abrechnungsfallnummer ('Encounter.account.identifier') oder ähnlich identifizieren Merkmalen
  4. +
  5. Extraktion der Composition-Ressource aus dem Bundle und Auslesen der mit 'mustSupport' gekennzeichneten Meta-Daten, sowie der menschenlesbaren Repräsentation des Dokumentes ('Composition.text', 'Composition.section.text', 'Composition.section.section.text')
  6. +
  7. Hinzufügen des Dokumentes und seiner Metadaten zur Fallakte des Patienten.
  8. +
  9. Visualisierung des Dokumentes und seiner Metadaten in der Fallakte des Patienten
  10. +
+Composition Bundle +

Die Grafik zeigt an einem vereinfachten Beispiel die Zuordnung des HTML-Dokumentes zu Patient und Kontakt in der aktuellen Ausbaustufe von ISiK (schwarze Pfeile). Die grauen Pfeile deuten die Übernahme strukturierter Daten, wie sie in weiteren Ausbaustufen erforderlich wird.

+

Hinweise zum Umgang mit der menschenlesbaren Repräsentation

+

Die menschenlesbare Repräsentation ("Narrative") eines Dokumentes setzt sich zusammen aus dem Inhalt von 'Composition.text', einer Repräsentation der Metadaten (z.B. Dokumenttyp, Patientenname, Patientennummer, Aufnahmenummer, Datum) sowie der Aggregation der Inhalte von 'Composition.section', wobei zu beachten ist, dass ein Dokument beliebig viele Sections haben kann. +Die einzelnen Bestandteile des Narratives KÖNNEN mit <div>-Elementen zusammengefügt werden.

+

Extraktion der Patient-/ und Encounter-Ressource im Document-Bundle

+

Folgende Fälle sind zu beachten um eine Patient-/ und Encounter-Ressource aus dem Document-Bundle zu extrahieren:

+
    +
  • Die aufzulösende Referenz ist eine URN (immer absolut, z. B. "urn:uuid:9d1714da-b7e6-455b-bfd2-69ce0ff5fb12"):

    +
      +
    • Suche nach einem Bundle-Entry mit einer fullUrl, die mit dem reference.value übereinstimmt
    • +
    • Wenn einer gefunden wird, ist die Auflösung erfolgreich (und endet hier)
    • +
    • Andernfalls schlägt die Auflösung fehl (und endet hier). Die Referenz hat in dieser Spezifikation keine definierte Bedeutung.
    • +
    +
  • +
  • Wenn die Referenz eine absolute URL ist (z. B. "https://fhir.example.org/base/Patient/123", "https://fhir.example.org/base/Patient/123/_history/a"):

    +
      +
    • Suche nach einem Bundle-Entry mit einer fullUrl, die mit dem reference.value übereinstimmt
    • +
    • Wenn einer gefunden wird, ist die Auflösung hier erfolgreich (und endet)
    • +
    • Wird mehr als ein Eintrag gefunden, KANN der Server nach der neuesten Version suchen (basierend auf meta.lastUpdated). Wenn jener auf diese Weise genau eine aktuelle Version findet, ist die Auflösung erfolgreich (und endet hier)
    • +
    +
  • +
  • Wenn die Referenz die Form "[Typ]/[id]" hat (z. B. "Patient/123")

    +
      +
    • Wenn der Bundle-Entry, der den Verweis enthält, eine FullUrl hat, die dem RESTful-URL-Regex entspricht (z. B. "https://fhir.example.org/Observation/456"): +
        +
      • Extrahiert wird die [root] aus der fullUrl des Bundle-Entries und mit der relative Referenz zusammenangefügt (z. B. "https://fhir.example.org/" + "Patient/123" --> "https://fhir.example.org/Patient/123")
      • +
      • Gefolgt wird den Schritten für die Auflösung absoluter Referenzen. Siehe oben.
      • +
      +
    • +
    +
  • +
+

Persistierung der menschenlesbaren Repräsentation

+

Das Narrative der Ressource KANN innerhalb einer DocumentReference-Ressource persistiert werden. Zum derzeitigen Zeitpunkt obliegt es der jeweiligen Implementierung wie diese DocumentReference Ressource ausgestaltet ist. +Ein Mapping der Composition-Metadaten auf DocumentReference-Metadaten KANN der FHIR Kernspezifikation entnommen werden. Siehe Abschnitt "2.42.8.7 FHIR Composition".

+

Das Narrative MUSS als Binary-Ressource unter DocumentReference.content.attachment.url angegeben werden.

+

Hinweis: Es ist zu beachten, dass in einem Attachment-Datentyp im Element "url" eine absolute URL anzugeben ist. Somit muss zunächst das Binary auf dem externen System per POST angelegt werden. Der hieraus resultierende Link kann anschließend im Attachment verwendet werden.

+

Falls ein Bundle erneut mit dem gleichen Bundle.identifier übermittelt wird, MUSS eine neue DocumentReference erstellt werden, welche unter DocumentReference.relatesTo.target angegeben wird.

+

Hinweise zum Umgang mit strukturierten Daten

+

Auch wenn in der aktuellen Stufe nur die Übernahme der menschenlesbaren Repräsentation erforderlich ist, empfiehlt es sich dennoch, das vollständige Bundle samt der strukturierten Anteile zu einem Dokument zu persistieren, sodass zu einem späteren Zeitpunkt, wenn eine Übernahme einzelner Daten möglich ist, diese auch rückwirkend erfolgen kann.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Motivation.html new file mode 100644 index 00000000..08be794b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Motivation.html @@ -0,0 +1,273 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

In der heterogenen Systemlandschaft im Krankenhaus sind eine Vielzahl spezialisierter Subsysteme im Einsatz. Die Ergebnisse aus diesen Subsystemen sind aktuell jedoch häufig nicht in den Primärsystemen des Krankenhauses verfügbar, denn es bestehen folgende Herausforderungen:

+
    +
  1. Die Daten in Subsystemen sind sehr heterogen und können hochspezialisiert sein.
  2. +
  3. Bei der Nutzung dieser Subsysteme besteht häufig ein Interesse, auf die menschenlesbare Repräsentation der strukturierten Daten einwirken zu können.
  4. +
  5. Künftig ist mit Szenarien zu rechnen, bei denen Befunde aus Subsystemen in eine elektronische Patientenakte übertragen werden sollen.
  6. +
  7. Aktuell werden Befunde, obwohl diese in den Subsystemen in hochstrukturierter Form vorliegen, nur als PDF an das Primärsystem zurückübermittelt. Oft weil kein strukturiertes Format spezifiziert ist, das sowohl versendendes Subsystem als auch empfangendes Primärsystem implementiert haben.
  8. +
  9. Der Umfang, in dem eine Datenübernahme in ein Primärsystem möglich ist, variiert stark zwischen den Systemen oder Installationen, z.B. abhängig davon, ob ein Modul für Vitalparameter installiert ist.
  10. +
+

Die ISiK-Spezifikation begegnet diesen Herausforderungen, indem sie die Rückübermittlung von Ergebnissen aus Subsystemen an die Primärsysteme in Form von strukturierten Dokumenten erfordert, die über eine menschenlesbare Repräsentation verfügen. Diese strukturierten Dokumente werden im ISiK-Kontext als Berichte bezeichnet. Dabei sind die strukturierten Inhalte der Berichte harmonisiert mit den verbreiteten Formaten für Primärsysteme.

+

In der aktuellen Ausbaustufe von ISiK ist lediglich die Übernahme und Anzeige der Dokument-Metadaten (z.B. Dokumenttyp, Dokumentdatum, Quelle) und der menschenlesbaren HTML-Repräsentation in die Primärsysteme erforderlich.

+

In weiteren Ausbaustufen von ISiK soll darüber hinaus eine Übernahme der strukturierten Anteile der Dokumente möglich sein, die den ISiK-Spezifikationen entsprechen, z.B. Diagnosen und Prozeduren.

+

Es obliegt dabei dem Ermessen des Herstellers, ob die Übernahme strukturierter Daten in das Primärsystem automatisch erfolgt, oder durch den Benutzer initiiert wird.

+

Die Berichte werden, wie von der FHIR Spezifikation für die Composition Ressource vorgesehen, in einem FHIR-Bundle versendet.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Profil.html new file mode 100644 index 00000000..7db27ad9 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-BerichtSubsystem-BerichtSubsystem_Profil.html @@ -0,0 +1,993 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKBerichtSubSystemehttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme
+

idS Σ0..1System.String
statusS1..1codeBindingFixed Value
divS I1..1xhtml
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingFixed Value
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
dateS Σ1..1dateTime
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ1..1string
titleS Σ1..1string
confidentialityΣ0..1codeBinding
mode1..1codeBinding
time0..1dateTime
partyI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
custodianΣ I0..1Reference(Organization)
code1..1codeBinding
targetIdentifierIdentifier
targetReferenceReference(Composition)
codeΣ0..*CodeableConcept
periodΣ I0..1Period
detailΣ I0..*Reference(Resource)
titleS1..1string
code0..1CodeableConcept
authorI0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)
focusI0..1Reference(Resource)
textS I1..1Narrative
mode0..1codeBinding
orderedBy0..1CodeableConceptBinding
entryI0..*Reference(Resource)
emptyReasonI0..1CodeableConceptBinding
sectionS I0..*see (section)

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..b124298e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,264 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Beispiele.html new file mode 100644 index 00000000..174ac51b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Beispiele.html @@ -0,0 +1,274 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

{
+    "resourceType": "Binary",
+    "id": "Binary-JPEG-Example",
+    "contentType": "image/jpeg",
+    "data": "/9j/4AAQSkZJRgABAQEBLAEsAAD/4QQCRXhpZgAATU0AKgAAAAgACgEPAAIAAAAGAAAAhgEQAAIAAAAVAAAAjAEaAAUAAAABAAAAogEbAAUAAAABAAAAqgEoAAMAAAABAAIAAAExAAIAAAASAAAAsgEyAAIAAAAUAAAAxAITAAMAAAABAAIAAIdpAAQAAAABAAAA2IglAAQAAAABAAADrAAAA8BDYW5vbgBDYW5vbiBFT1MgNUQgTWFyayBJSQAAASwAAAABAAABLAAAAAEAAFBhaW50Lk5FVCB2My41LjEwADIwMTA6MDc6MTYgMTE6NTc6MjcAAB2CmgAFAAAAAQAAAjqCnQAFAAAAAQAAAkKIIgADAAAAAQABAACIJwADAAAAAQBkAACQAAAHAAAABDAyMjGQAwACAAAAFAAAAkqQBAACAAAAFAAAAl6RAQAHAAAABAECAwCSAQAKAAAAAQAAAnKSAgAFAAAAAQAAAnqSBAAKAAAAAQAAAoKSBwADAAAAAQAGAACSCQADAAAAAQAQAACSCgAFAAAAAQAAAoqShgAHAAABCAAAApKSkAACAAAAAzczAACSkQACAAAAAzczAACSkgACAAAAAzczAACgAAAHAAAABDAxMDCgAQADAAAAAf//AACgAgAEAAAAAQAAAcygAwAEAAAAAQAAA2CiDgAFAAAAAQAAA5qiDwAFAAAAAQAAA6KiEAADAAAAAQACAACkAQADAAAAAQAAAACkAgADAAAAAQABAACkAwADAAAAAQAAAACkBgADAAAAAQAAAAAAAAAAAAAAAQAAAH0AAAA4AAAACjIwMTA6MDU6MjcgMTA6Mzk6MzUAMjAxMDowNToyNyAxMDozOTozNQAABwAAAAEAAAAFAAAAAQAAAAAAAAAAAAEAAAAyAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVsYAAAAWzADkhAAAAA74AAAABAAAAAQAAAAQCAgAAAAAAAAAAAAMBGgAFAAAAAQAAA+oBGwAFAAAAAQAAA/IBKAADAAAAAQACAAAAAAAAAAAASAAAAAEAAABIAAAAAf/bAEMAAgEBAgEBAgICAgICAgIDBQMDAwMDBgQEAwUHBgcHBwYHBwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP/bAEMBAgICAwMDBgMDBgwIBwgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAUUBCgMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP38ooooAKKKKACiiigAooooAKKGOBUbNzQA4vgU0nNJu4pjyhfvH8BQA8nFIGqvLfKOPvVTufFMNqGPUL1wcYoA1d3NLurm7f4g2t+f3Kyso6tswp+hPX8K1IdWjntlkVvkPUntQBobsUdao/2vb/8APRfwNTQXYmHy5P0oAsbqcHqNZM9+aO5oAmBzRUatUgbNABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSE4NADGOTTWPzUSyLEpZjhRzXLeKfFottOuLlrhbGxt1LyTvhcgdTknCqPU0mwNfW/Elrols8k8yoiDLMThR9TXyf+0//wAFcPh5+z9LLa29/Za9qQ3JsiuxHbWzD+/Jg7jn+FQT9K+Of+Ck/wDwVzm8S3Nz4D+GM8v2WQtFe6xuy1122wd9uR98Yz29vzr8T6Nc65JJd+JPEVxtj58iN8tGPQAcD8K8jF5rGD5aerPUwuWyqe9PRH2p8bf+C23jT4i+KGk0xYZNNiYFbaG5ms7ZyP7wjO9hn+8xrhdJ/wCCqHjzVPEKzX91dWFrvBNrBcyS26+2GbOPavlnQte+HGhzqt1qF1byN8oeRWzn3O3H6102qeNvCUFiFt2jvVzxLAxjmA+hG1q8Wpjq8nuz14YHDxVkj9APBX/BWfxtHFDbSNYzW8QACrHzjsQTn8uK92+Fn/BTO2120WHXIzJcSSYWRGASL6Lxn6mvyFX47aPo+nwtHcZ2nbkkBh3GQKz/ABF+0ZqVxdrJZXCx27KUJjIwX7c+/wDStaWYV09WY1MvpP4Ufs58Wv29PC/gib/SPF2m2d6yblSzk86RM/3scE+3asHwV/wWQsdMv1s5NW0fVIR92WWFreRv94DgV+Ntr4x1LUYTN9u3ODvIZSVA/rn34qjc/FvU9Fn80Isirzs2Id30wR/P8K1eZVr3gRHLadveP3++H3/BWDwjrT/8T2FtKjycTRHzoyPXsfyBNfRnwx+OHhf4xaGuoeHdcsNWtW4LQyfMp9GU4ZT7EV/Nb8If23dMtvEkWi6hcLpl4cMElG1GB4GAxwfwPavsD4H/ABouPBetwa9oN4I7gFS/kylI509CV5H6/wBK2pZ1OL5a8fmYVcqi1ek/kft8sox/hUgOK+VP2af2/wDRfiVaQWt/9os7tQFZZ2EoPqQ69R9QK+m9C12HWrVZYJI5YnGVZGzmvep1oVI80HdHjzpyg7SRqK2RRUcbq5+VqkrQgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAJwKhlbCk56c1MelcJ8dvitpvwt8I3F9qF5HY2sMZknnY4ESAdfqccUpSsrsaTbsit8WPi9pPgDwxfapql79m03T1L3Mu3cI1HXJr8ef+Clv/AAVS1r9pa6k8M+G55vDPgG35YNiO61EDP76fBJCcfLGD7nJ6Uf8Agol/wUJ1r9oG/Om6fI9n4XjlxpmmIxAlK/8ALxP/AHj3APA9K/Lz47/Gu48W30uk6XPJJYRykXMykhr5x1JJ6KD0FfPYzHSqv2dJ6dWe3g8CoL2lVa9Ed3rX7QlnFdzabocdxI0pIkum2rJJ6kk52j6nNZt18QJ9M0iRrYRx7kO+c4dP++iOfriuH8G6RDbxK135bKB8lvFhVJ9z3+tXNe8O6h8SZ2h3Ja6RGfK2A4Rh0P4+5ry+WMT11zM868ZePrXxZeyLHdTX0i/edSdp+meP0qDwxLrMFzGbW4miRjtaFyGR/wAB0PuK9m8Gfsuaffyw2tpLY26gADZmWWU+5JwPwFegH9ji+8K2vmyw28kEnGVk+f2+U5+vUUPGUl7qK+qzerPIbLwtqSxb5VkkWY7trtnHHrXReE/ELWd9HZi1hkVGADSrlVz1zmvXfDXguzj8J3HmRrJdW67Bk/hk8cV5F4j1OHw1qe+S5jXc5yYlAA9lzwP/AK1ZxqXNPZ2R6tYaxGILiG30+GYbkjJwqqPw4PQZqU+G7HVk/wBSsU8hOY3/AHIk+m3+Zrz7TPjHY6Xo/wBnj8hZJnMjyP8AM3YcnivQfhJ4wtvF026y0uzuI1PNxBNscHHA6gH6c1jNtaocVfQ4D4l/DfT9VsDDJHkwEqVnjBePPYMP64zXOfDr4u+NP2ctThXS737dorHI06c7Vx38tucH2NfYqfDvS/iHpDW8zwi7ZCimRPvexI//AF14P8RPgTe6NeT6VLEJHYPJbOy89DgE98eoop4pP3ZEzoX1R6b8Kv21ZLmS11a1uLzT5osO0iACS3YdmA649q/SH9hn/gq1aXj2tj4l1CG184hYryNd1rcH0b+431wPpX43/B/Rn0fVwpgaKVsJPGw/1o/Hg/UV6B9lvPBGsmTTd0CzMCERtqP/APZCuyhipUJ3hsctfBxrRtLc/py+HvxB0/x9pcd5Y3MNwsihjsbdiupU5Ffh5/wT9/4KDX3wI8SWVhrVxeNp8rKomjmYlB3VlY4x+or9kvhX8UbP4j+G7PUrO6jure+iEscqfdYEZ/OvqMJjIV43W583icLKjKzOyopFORS12HKFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFBOKKhvLhYoWLNtxzQAzUdSh022eWaSOKOMFmZmCqoAySSegHrX40f8FPP2/Jf2gfiHq2g6Dqit4F0WZle5ib91qLxZBcH+JN2cdjgdeK+nv+C1P7Z6/CL4MR+D7G7uLLVvGji1WOF2jnmtsnzWBHSMAYJzyWVR1OPxn/AGnfiPJpngq00uwDW8mosIYYx1WJeP8AD8q8PNcW1+5h8z2MswvM/ay+R5p+0P8AHa4j0BrqOaS3uNYkMVqin50t14J+rGvItIsjpFv/AGhq+1rphuCv8piHvjv+tdd4qsYTri6tdQjZaQi3sVfDDI6vj69//rV5nbS3nxh+K2meH7ORkjvLlY5HBztUfM7fTAPFeRTjppt1Palv5npnwj8NXHxFubjUHhkttDtTt8wLg3L/ANxO/wBT2rukv7TTFDW1mLpbfgBOFiHs36f1rW8XXNnYaDY+G9HzZ6bbxkSSpwUt14Yj/bkOa83+JHjT/Rrax0+Hy7cMIobdD15+8x/iPv0rzp1HNnoU6agjU179qWTwxcyW66DpswQ7QzXAaYfiM9KtaX8cfEHi7Y9rNd/ZpDzbzNu8o8fdOc4rmfAv7PerePL0yXEIWKeUyE4Py9h/WvqL4MfshiGzRBDHLHG4cyuMKhrOrUpwVupvToSlrLY534cR3+saLd/bY5FjK4LgjLk8f5zXi/x4+HV49ws1vD5NvG5IUjdwOmB1/E19vW/wjOk2f2eC1kuQvP7tMqxPqB1xXF/EL9naPxPIZbiPUIjGMhI49ir/AN9Hmuf66ou5vHB8+x8Gx3clnOsd1HsgU4MW3c0uPb/Eiu+8IfEHS9K1a3uH0Zbq8hOY3NwY/I9xtOAfpzXonxD/AGU8mZrWaOb+42zDd+vPavA/FvwZ1Xwde7ZLO6m+bO6Rtq+2B0rojiKdTqTLBzgrpH3V8IfifD8QNFjVo286PAV8kMPzHzCuu13T7fxhZtb3AX7UnMEqchm7Y9K+Efg9qfiDRNbiuI9fmsmRgPJCll7cYBwa+wvDXii81vRYZrlVjvFUYlgP7mb69wfY1yStGVrmUqTtc5XxH8OVur/ztiRzg/Pt+U5z1x2NWLrR5r3QY/tAb7Ta8SrgZcDkMB69+K3Nc8Qx6kyagmGuLcbLqMfxY7/Wqt5BHqNnJcWrbjsDglunfiuunJ21OSXcXwl5etQv5U0f2y3T5onPFwmeo46ivsz/AIJ4/trah8G7+HQ7i8mutL3A/ZpnP+j5PVT/AHffsfbg/AmpQXFtqYvtLZkuY23vCvqR94D3rrvBPxdivdUtJcLa6pAQZOduT3/A+tdFKtOjLngctajGrHlkf0c/Cv4k2PxI8NQ31lOk0ci5yDyD3BHqP/r9CDXUg5FfnT/wS+/aMa58VWOjs7rb6pGVaOWT/VyKMqV+vTHofav0ShnEnsa+0wOKVelzo+TxNB0p8jJKKKK7DnCiiigAooooAKKKKACiiigAoNFFADT03fd+tc7478S6f4U8P3Wo6lM62tnG00mxCzELzhVXliegA6kitbWNTXS7dpJDx0HufSvhL/gtP+2C/wAFvgHN4V0u8e28ReMozDNLGf3ltZ9HCH+Fn6ZHIUNjqCMcRWVKDmzSjTdSagup+an/AAUA/bCuf23v2n9R8URwS2Og2EKabpFrJJvaG3jJO4kcBndmcgf7I5xXxp8SPGX/AAnXxtW1hYta6TB5QOc4C/fYnsP5mt74l/F628FaRMysvETIgDfePTjt3H5V5F+z48nibxF4m1q6/wCPeGFUkTdnOTkj8cDr618fKUqjdaR9dThGmlSh0Kfx68cS2VrIY8LNOm2NB0ghHAGPVutN/YT0yO5+JeoXdwu64XSrudCwI2EbFz/48a89+O+vm9lt5G/1l7K0gX+6i8D8Mn9K7r9gO5Y/GO4tZMj+0NNnsYyezMA39K6KlPlwrkRTlesj1i+1V10NryRG8yTftQHr8xCD8sH8a0vg18Nf+E2122lkjWaSB2Eg28bvb8xWppPhn7ZZxxtD++s3KSgJgFxwOPqK9g+A/wANZdAuriaOLzDcMDjGdp718zWxCjGyPp8LhebVnrHwY+C1rZWMcl1DGwyGAAx+nvXunhbw3aPMiLbx+WvOCqgY9OK5fwDpb/ZowY2TAACYyc16X4W0r7OQxX5jziuCnJyZ2ypJHS+HPC9tLj/R4/ZcDFdMfAGn6lDtms7eRT1UoMGqfhmz3suflx612NhZhEDbfSvRhFNannV5cr0Z5f4v/Zi8N61A7RaTZxMwwQsYXP5V88fGT9jPTbqxmEVmpjI/1bKDt/rX29KgC7ec+4rmfE/hqPVIJAyr0xn1rGthlvDQ0w2Mle0tT8a/jX8ALj4d61JNbWuxVfnGRt+nB/rXY/BL4h6bfaY2n6hfxWtzGm1BKBHu9MHAU/zr7V/aN/Z8XxBp0xWGNXUHBH8VfD/xW+EEng5rhvsqtFkl+cYNc9Krd+zqbnfiMOpw9pAo/ErXLr4f+Ivt0LK8MzDzFZvlc9Mg+9L4c8Wt9qS5h3R2t2cyQP8A8sHPXkcbTXkOo/FGeTQ9Q0udjcLDl4ww3uhXkYyemK6n4Ui48feHVW2Vo45E3JKqhsY7H06dK9im+WOp8/Wp+8e0W+lW+pW8cyTRxMwxvDHdG3bGAeK5fxX8P11K9N4s32C7zzKACjkf3verPhF7q1iayuGCX0B4VwVEi+nPBz2IrauNYaGJn8llVvkdSu5QR1DKf5itVJHI00zu/wBjj9qXVPgr8W/D66jNGqwXsflTZ3Q5DDqewPv0r9+vgz8YLT4oeGLO/RJLaZkAkhf70bY5H+e2PpX8v/xNluNIulmscmPJLxg7o278emOxr9GP+CIX/BRqO5k/4QvxdqV0Y5gIbW8nlJNs6jCK2c/Lj5fxGa9jKcQqM3CW0jys0w7qR9pHdH7TRyCRcinVzPhbxZ/o8cFwyM2AFkU5Vx2NdKrb1zX1V7nzQtFFFMAooooAKKKKACiiigAoNVNb1ePQ9Oe4kVpApChV6sScAVxXxS+OEPwd+G+teLPEDWenaPoVpJd3BaUsxVRkKDjG5jgAdyRScktwSucj+2x+1JoH7K/wk1TxTrskf2fTU228TNjz7hvuj1OOpxz+Yr+d/wDbe/bN1r9pH4g6l4p8Qagzx3B3RIT8zIOFjUdhjACjivQf+CgH/BQHXv2q/itfeJNX8tdLjlP9n6S8pktdPjHCZBO0uRyW9Sa+C/jH8UHjuZpohHPdyk+XtH7uH6etfMY3EvET5IfCfSYHCqhHnn8X5HKfGjx5JqNyz3DMJGI2QE/cHYf416P8JNBm8I/s826N8uoeKrtp2IPKQj5VP4nmvDdA8Jal4q8Qw+ad9zfSgLnnaCcFjz2/pX07fW0FhcabYxyN5NnAtpFxzsjXJP5kVjiLQiqcTroptuTPmX4+yeZ8T5LOFS0dmsdvGvXPPp7ntXUfDDxA3wy8baXNbs32q2lSeYqeuGB2fkOa5H4p6kifFDUZI5DJczXOFPUQLx+bfyqbRbtYPGel+Yf3c7KhJ9zg/wA66a0eago+RNG3PfzP0i8K+HreXxvC8exrXVtt7EB/ErjcD+Z/SvobwB4J/sm1yse3cwzjvXzX+zJqE2q6R4dW5G6bRd9ixJySowUz+FfYnh9/K0qNmwd3TPavzqtK8rH3OHi+RNG/4Ys/IPTHc5Nd7o1ooVC3UAcVyugR/Iufl7kY7V1+iDY2du5vQ1tRJqS6nY+Gbdce69uwrqlXy4lI+prk9GvDv8xmVVx271sJqm6NW3bePWvUpyUUeTXi5SNWQ5J/M1Umh3hvmU5qnLqZQfL/ABc5x1qP+1yF3fKPU460cxMKUtzmfif4du7rT91l5TSsejdMV89/HX4D/wBveH5JPs8bXEiESIF+V6+pNTv1uYdxx6ZHSuV1/T11CNV+Xk9M8EVwYimpPmR6+FxEox5Wj8RP2jvh5cfCrxlK80bwxq7q2Qfu9q8+/Zi/aHfwb4pjjuj5dtP8puY2EZB7bgeD9a/XT9rD9h3Sfj/4fuo2Vbe8aNlSUqO4/Wvy5+Jn/BOn4lfsxalcXjaG2t6LH8wuLT95tXPUr1HHXqK9HL8VSdN0q7tLp5/M4sww8ptVKO3VH1DpWtWPxJ0mIrNAt1jNrdR42TN12sOzfz/KsTxYLxYGWGT7HfLkNGSdr49egrw/4S/EKTwvd28/nH7BcER3MBGPII6EfQ969+8SyL428GyXa5a8s0+Z0+86gcN9cc0/4cvI8+UOZX6nj+leM38Y6xeadeb4dQtgSDjBHrj1/wAK6T9nfxLc+EfilNHAfs1zGQ7mNtu4g5Vx9a4sWMd54z0rWreTbN5htbxT2bnB+hFdtoVomlfGy1aP/l8QIT6cV1ykradjmjHoz9ff2U/+Cmt86abpevRx6hGFWJpmcK5U+vbI9cjOO3Wvv/4JfHPQfijay2un6hHcXVmAXic7ZVU9MqefbNfzZ+MPjDf/AAm8f6O0DTNHfytE8SfcIGPvHPT/ABr9MP8Agnn8ZfC3j/StJvFtvsOrQv5Oo2r/ADSzRtyJ4mHPHoP9rjpn2srzGq7Qnqjw8xy+Ebyhofq8DmiuX+GurR3mmC3WXzGhHyPvLeYnqc9x0NdMr5OOh9K+oTufPDqKKKACiiigAooooA4v49ePNH+H3w6vL3XN39nNthcLnezOwVQuOdxYgDHevxO/4LB/tM+LPH2vf8I/JrHibT/B9hMrQ6feXAVpWHIdgqKSfTduIr9q/wBof4bx/E34Ua3prfLczW5e1lABa3mT543A9nUe+K/AX/gpn8U7nWvErTavb+XfWsJhZWGVlYHG4Hr1zXi5tUlGKSdrnrZXTjKd2j4n/aJ8W6e/iCSPQjt021hVkEibS0jDJOOcnPrXhN0I7jV1CxS3l5Jgl5WyseeSa6zx1ctrF40e4ySTMSzb+Mc8E+lc/a2cmq366Xpv7yab5ZZF4X3wfQeteTRkkrnuTi2zovhRpMg1c6i7+Zsk8qJiPlL4Odo9FGfxNdb4v8Xw6TqQmlk8uKOEx5zyC55P4YH5VlafEfDlostta3N5Z6aUto1iC7pZHYBn5I4HX6CuJ+M2stetJGJFjEjbR7gZ5qIxdSog+GJ5XfTufFu6VtxFxy2eoz1HsetdB40gaxvbdl3BoZPlI7A1zdzdLe6rp9tGv7qGRYw5GHcFh+noO1e0+KfhBdeLvFK2NmjPJK6cHsN5FenjK0KTjz6KzMMDRlVclHuj7T/ZP1L+1yLpPvXENvcNjn5jHyMV9leC52ntU3HlcYFfJf7IPw9m0a/vbRm3fYEhgO0cZC8ivsLwHoiwRK3Vmxgn+GvzWtaVV27n39P3KSTO08PwiL5mK9u9dRaOuA26sbRrVVj2qufUmuh0+zVtvt3xXTTjZHNOzNLTLnDhdzhf71XPtu5xt3NnsOtQ2Vntfu2PbpV+x03zHjzuU55x3rpjc5pcq1Y6xgaU7trbm45OTgVI+nzLLn5Qfoa27LTlRfu89uKteQAfmXtnI6VsqehzutqcjqGnTMjZ53DHI6is14ZIPvdF79671rBbpeFG3HesbVtJEUbFvu/yrGpTZtTxP2Wcvczq1s3zc47153450i31LS7y2kVGimRkZW+62RXpN9pjRhtu3a3FefeN4XjMq/xYOAfpXFUT6nRGzWh+Nv7cXhNv2ePjFdTWsapoOq7hLbqP9U+fvL7dOK9J/Zv+J/8AauhaekkitHNGI8nnzOP6jmsz/gsLpjW80bSKysxDITxnkZryT9lXxDKPhRDIrM0ulz7lBHZT/wDE19Eqango1et7Hj8zjiHTfa56zfaOfB/xg1DSZGxaXRWWDeOCp+ZSPpyPwFF74jUfEmxZX3NazqMr2G6uo+K+hL4ps/C+vW6rIdvkSkHkjOU/rXjOp6rJpnxOv28wx7Zdi5Occf5NTh3zx13M6y5ZeR7t+0ZobXvhnTdXhVv9Du5VZvQFRg/pXu//AAT3/aOtfhV4p0+HWroWunNHHMl4EJaE4Hofu5+teIWfi2Lx38I7i2ZlaTbHMQeqkgA8fhWtpHhyTTfB9iyoPtCps6dl7Cop1JUn6MmVJVYtM/og+Cfjq31600zULfaY75VZJEIKMSBuAIPQ8EfhXssoyAw/h547ivx4/wCCJn7V19onju++EviC6/4l+o7b7Q7iX/l3nUZMAPo4BIHYgj0FfsBo98uqaXDMpH71ATj17193l+JjWpKcT4nGYeVGq4SLVFFFdpyhRRRQAUUUUAfM37dv7ZFz8B54/D+mWtq11fW+64ubiOSX7MjhtpWNMFydrD7wAxznpX4Dft5ftUx/Fvx1rF1cWcNxIZWtoo44fJwUYrwMn39TzX7Df8FpviL4TvrHT9PgtL648TaekkMl/DEwt7dH2kwu3R24ztUEqT2ya/En4geGdM1DxJdQ2OnzKoDM7ZZmIJycjjA9ga+ZzatepyS2Posporl51oz5zm8PzeJ9QaNHtbGSTJYRI07Qr3yBwv8AwJhWt4P8Gwo8mm6E0ihh5mq6xPgNGgJzHGOi5x7/AFrudS8MWtikcUqR29uvEdtGoBc+yD8OWqxJp0dxpK26RLa2EPzSImMsff1NeT7Z2sj2PZ9zjPEur2mjabG1n/x6x5SEkffUdX9yT3rwHxnqEmsXE1y5ceafLhRmyT7/AP1q9a+Lt7NqjzRW8e2NR5Zbosa+n1xXkup6KL7xFY28f3WOAENehgbJ8zOeunayI/hf4GuPEnjezt1jDMk6vIxHCKGBr9Cf2f8A4NQ3WtLq11tYyrtBbsoHWvmT9nzwFGniRYYo22hzNO7fefHCj6ZNfbXgeZxoVrp9nHHG0i+SrZ55GCcegGa8PPsY6srLY9zKMPGlG/U9Y/Zy8GLH4fvNQVMf2pdySqWHVAdq/oAa9y8IW+E29gABXnOg+P8Aw94N0e009Jo9tnCqKAw7DBpt1+1boOgnakc0j9M44NeDRpu9zvrVnsj3rRUElzt+6MHp3rqNItcL82OvFfOHgz9rPTdavlVoxCuRhi+N1eweHfifa6oieXKG5zkHBI/z3rujyrc5JVJbHqukaUtwFO4Z6nFa2n6XHHI2Tzn8qz/AmrJqdiJFB2gY57nvWpdSbVkAG3+6R611RStc46lSSk0XIokhjRfl4PPPIqRrqxkZ1adAynLAdq8N+K3jTxRZie2024RWzhHIHH614H4r8F/EzXb9Zode1RWz8wjk8lB7jnmpqYuMdLFQws563sfczajbWkbSKylW+6c8Vnz6rY3aMDJGy8hsnofSvkHwt4I+Llo8aJrhljbkm4n3D/0EmvSrfwj4wSwR5p1vLwkBmgGznvgnr+VY/WObaJX1dx3kj2a40y11S3LQyAnGOvArz/4p+HDZKJAA3rjtWLo+o+I/ClxIbwMsa9R95j/3zV+/+JMOsaVJHdBlP3TvO0r+dTKUJRs9Dam5xe90fn5/wWL+A6+MPgTJ4gtV/wBI0Vt8vH3k718O/sXSC98K6xYt8ysWKqxxjIxX69/tI+DIvH3wf17S1VJ4rqB06cMMV+Q/wU8JN8Nv2hbrQ23RLPHI6oWz0PpXZga18NUoPdaonEUr1IVl6H0v8AbweJvhP9kmwz2Nwy4PO0qeK+f/AI7R/wDCP/GC+jYyeTdOsjMv/LNsYr2v9m+9/s7VNd01yxH2hpMn+HJ//XXmv7TmlLJ8Q72TAYxuozjtt4/z7VeDklVkjnxUfcTKHw0+JdxoFxtVvOWQNF1+Vh2/GvpD4X/EeDV9BW3upI4pWdcFhweeRntmvh7StYbQLo+Z8qrJgqw4YH19K9c8F+MYLs2swa4azlIS5EfLwnpu96661G5zwkfoP8MbAeAvHvhPxRatPDtkhvRND8rFElXfsI77SR+PvX7gfstawuufC2Kdbma7jaeRo5ZHLEqzbh+Azj8K/m7+CvxqvPC+v2WltqE2paRcx+XaCR8m2LODgjtng1/QL/wTO8Wx+JP2atOhBke408+TM5X5T3XB6H5SK9Lh+XJVlS+Z42eRbhGbPoeiiivrD5oKKKKACsH4qa5ceGPhj4i1K1YR3Wn6Zc3MLEZ2ukTMvH1Arerlfid5vi7wd4g8P6LqGlrr1xp8sUcNw28RmRGVS6g5CnOM4I9jjFTL4WOO5+SP/BS343aX4F8LaX4at7+bUBqMCvLdRkszOfmOX/vE5JOcndX5zeKNd0+FZ1sblorifIklVi3Hpkmvrn9oHwDrXhfTtU8J+MrEtdeGruSxLJIsyqynBUNjBHQj/wDXXyX4p+BFi97M1nNdxx8jyyRHjvwea+DxmIlKd3ofa4GjFQsjzydbCx82QF5rhslpXfLH6mqGq6oselt5ayTFhhY4h80hPp/jW14h+GkehyNvYyBQSS0/mMPwxgflXPeKNcs/DVn/AKNsSdgQmWJd/wAT/IVz09Wd1TRHmnjawkgRvtzRxzON3lJ92Ff6n37muX+GnhxtU8WXV7g+RbZjiDD7xPUmtzX0vNX1QxuI3muG3ylmGIgOVXHp3r0D4PfDiPTrSHb5l0xbzJj5eFZj75/Wu2pWVKm1fc56VNzmejfA3wUdJi86WFftF8dwQD5lQdP1NfUnwP8AhJNqqG9uZvssaqVDOdoA7nJryf4ReGPshkvLjb5kgGSBxEg5xS+Ovi1q3jXVE0PSZpIbOE7SpYhCvpx3P6V89L9/O/Q9qMZQjaO57P8AEzVPgj8NoGk8TeOVhvFBZoLJjcSE/wC6ik/jXP8Ag3U/hr8Q30S60mz8bNY+JmlXSL++02eG11QxkiTyZCuG24OcdK818afsxQ+LLKC4ttNjmme2+z3ECMFZgf4gxPXr1r6J/ZQ+BPi7QNA+HNhrF1L/AMI38J3upPD2luV/cG4JZy0gGW+ZuAc1tGNFPkVznn9YS5jzL42QaH8LdFmkjguoZoQWEiyeYoI7HHQ+xFXv2Iv2jV+JGprb+ezrDJs2t/CKo/8ABRzwtdeJheXT3lrpsiyPI72kO1pCf7zfxV4z+wDpM2k+MmuOVFxIFDYxvPrROnFU2zrpU5T5ebdn7H/CSWO40yOISYXHY9K6/UoRDC67s+nFeT/BHXPIt4AzcsoU+1ekX2qK8R2nJB6VdGd4HFiqEo1Dz/xrCz3UjW9t5zR9TjP4CvK/Ft1r2p3otba6Nm0jbFWNfmHuzYOB9K9m1zD/AGhWaSOOT7zxHDV5Xq1pt1L/AEO4uEKn+9WFSF2n0OrDxTVup8i/thfF74zfs1+Mr638M+KL2VbWOGXaLRbjcGI3EKwJIHP5V7dbftGfFzRf2g4/BXhjxN4L+Kmhtbxzpq7aS1iZT5IeRcxuVG1jtzjGe2a7rxd8BLX4z3tndaxNO1xaoYkmicxOVPYnHzD69K7D4e/suaL8O5pbrTZXtZ7qEQSsJS7Fe6j0z14renLW1tPxOOvQlo29TB8HftdQ+M9QuNH1bT5NH12yYxXFsvzhSOu1h95fcZrrHsdJ1q0VpoZJlk7mMsCfypdR+Celyyr5WmLNJG29LmRQrI3qD1zW7pOm3WgxeT5sZjbu8WcH37/jXNUlLm12Oj2cFH3TyP4heFl0u3uIrcuIrtcBB0Havyf/AGivCn/Ct/20rGRvlW4neA7jg7HxzX7U/EC0a70j99DC20/eUda/KD/grD8Ov+ER+M2h64vy7nWQPj0YUYOXLWt3TRry81J+Wpznw+v49A+IXiDHy+ZCrk5zkj0/OuQ+IU6eM/FlwyuM3qeU2f4HXofxq8mqxXWqXt8reXG1uoOBgD/PFeaaX423eN7ptwZJGwozwSOK7sHGXM5HJirWSNPxL8MP+EthZ7eNYNQ2+XLEflDkenvS/Cv4Z3Wma1Hb3Ul5Yy5G5e4GcH2Net+BZdD+KlmqxzG31iAcrnbKCPUd+naun8J+EdRfxXDb3X7xWY4n2+ZknrnPPfvXZKu0rM5FT6nf/D/9kWPwmNUn1C/lkb7EL3TJlCjc2Mrn0+lfv1+xTp9n8PPh7onhWEbZzo1vqMq7cfMwCsTj3GPwr8nfh38K2vYtEs7+9ivIdQWOIwWcDS3RXGRGqKCzMemAO+a/Wj9kP4UeINDhvfFni22XT9a1i2hsrTTlYltOs4slRJyR50jMWYDhQEXqCT6uQpubn1PBzqacVE9sooor6s+cCiiigAri/i38AvCvxqswuv6Pa3lxGu2G7C+XdW4GSPLlXDrgk8A45PrXaUVMoqSsxptO6P58f2gtRf4PfF/xV4e1i2kt4IdRuIVty5l+YSMOWJznA6nk5rzXxB4o0ewtd0dxHGsq/u0lVVcnGcLu4JH6V+2v7Wv/AATk8E/tJfF/TPE2oeHrea7jhf7Y1vtha7KYKGT++xzgE9l5ODX5cf8ABQz4Z+CNB/aIvtH8T3Fv4U0/QIFg06xvYPnkYAlthQbMcgEgnj68fGZhl86cnJ7X0PrMDjoTiorc+KPiXdyXk8yrFNdeZyo37SBjqBnB/KvIfEOiWumbrqZLyS6kyEQsHlHqR/nivbviP4r8K+G7ySOx1TT9WLAndChYL7L3H1rI+HHjHRvFOtLFqHgyO8iA+W4eU/KO+d1eYqnLG6PVUeZ2OB8GaHpFzp1vL/YqwXEifOXmZyTnqe2T6dK9A8GeDtU1C7jW5t49P01SAkCNukmHqSDwB6VN8U/2kvDfw11BdJ0Xw3Z/bpQWUsflUDufT8Dk1p/slePr/wCMfgfWNS1DyI7i3vWi2RRBUjXso7/ic1jKlUrLnasjop1IU3yrc6XxHf3CWcelabH5ZmxG7AfMF74r0X4JfAj+zp4Z5I1ikbBbe3zY9TWb8MtNjfxG13cRrNKGCwhueexPsOtfRdtoen2OjRncvnN8zZ6ux7/4Vw4hNe5HRHoUG373U7D4d6Xo+hWEO23tbi4jOWYR7iT9a6DxR4qaDTnZmW3iUdgBj8K890e/ksl2rIT3CgdKqeI7m71y3ZQsjcYGW3VNOpyLU2eGbd2eC/tXXEfi2KaGMFoWYlmP8XtXE/ALT10PxPpKxqqnzAzD9K9N+JGn2ulcahIpfJwp6/lXK/Dbw8t548t3tV3QpIGA/wA/nWntXODTOqnFKaSPuP4VXDTxRbRt4DZJxkV6bp159s+Td8x5+tcD8LtOaLRYd3oMe3Fdrpqtbyq2A0bdwK0oRahY58ZFNkktqILpmkUGM8EHuKguvhxY6kftNvN9nlbPAGVNbEkAu12s684p0OjXFureWx29uc1rHsebzNarcwYvDNxow3NskIP93H9akbWrq2T522gHgeXnFa/2eY/LIrMW6bqgm0bzvuqreuD0ps1jZv3jOTVjdDNwwlUHGASrVeRo54QwbzF6Yb7wpjaEYvmAOM8+lSQWv2Zy2088EVPLfcudOKV4mH4r02VtPmEbeZGBkA9q+C/+CsXwyXxR8L4tVWHzJLFWOFHPHP8ASv0KvY1WGRTllbnmvm39szwXH4g+FusWe3ohccdBisZU+WSkuhnCXQ/J/QdVkOlJCrZ85Q/PfI5FeYtpb2+qSGOGXzEkIdCCCDntXe6hZXXhfxDcaayN5dvMRFKRkAdcGvo/9ln9neP4xaVLq11b27adbqAXaPb5z9x7/WvSjUVGN+5gqLrSsfKUGo3kTRXFtNNbX1vyksbFXj9uOtfVP7GvxN8UeONTht7y3g1BYWVTM9pmRu2eMA12mh/sHN8TfifDofhvSZLu8vpQxgjykFnFnBklf+Bf59Bnv9efs2/sN2Hhf9r/AML/AAr8NXFvrVxDAuo+JrqOM+TpcI5x7M3QBj1PrxWtpVopRjvocFapTot3kfp1+w58EPDPgP4TaFqem+HtLtdTurJJLnUUQNNO7KNwDkZC+wOK92qHTrCHSNPgtbeNYbe3jWKJEGFRQMAAegFTd6+7w9GNKmoRVj4WtUc5uTCiiitjMKKKKACiiigCOaMthlxvXoSK/Pr/AIKPeOvDtrb614J8WeAbj4geJNeu5zpOnaVoZ1C82EIyOrFcJhDHufIAP0r9Ca5fUvhVp958RIfFEbXFvqkVsbUtGw2TIc8OCDyM5BBB6A5AxXPiaLqQ5UbUKns5cx/O/J+zXrvxR1Oax1K18P8Aww0/TUdZdPtbXdql2ynBSaQgbG/2R05rwv8AaP1GX4MfDbVrrwrpct5/ZIMd5NndNAoyN20dFHc9hzX9DX7Z/wDwTz0j9oqz1a+jjtbfU5ofPint4PKvIrhVxvjkHUsuMqwwxXB65H4E/tvfDPxX+yn8X9Zt5pV1TSdUjay1CdELR3kTdGZeitg9enJHfn4/EZc6FVe01R9ZhcwVaDUHZ2PhXw542uPiB4xt9QvZDLJcAk/7BA6V9sf8E8tEEegeJoWTas0wuAv1FfAvheaPwv8AE2WzhbdZtK4hDfeA5wD+HFfo5/wTtkivZLyNdv762U4+ldWMpqLSjsXh5OS5nud/pSLompSZLIkSHHqT7fWvSfAOrXetOrXjt8o+7k8elZXiHwZ9gu1uGiB3Ejnt/nNdZ8MPD/mSqG+Xv+FfM4yPKz6vLZRlC7O78H6Mt7J93cevPb1NdJrGg2vh/QprqQ42IW56AYrT8NaUsMUf7tVUDt6VifH6+GneA7wL8u6MgEHrxXL7P3eZnZUqJuyPhn4l+K3+JXxP1eSKaSO1sCI0UHqfavRf2ZbYSeIU3D5VKk/lXjXh547PxXqFvK6xyXkhZC5wGPp+te+/s4af9k8SsrKA2QTx0/zxXRJfuxxiuex9v/CW1CaWvmbW+UcHity7ZbdmxwuSRWF8NWU6dEV53Ae+a3/Etp9gvkEmQZMED1FdEY+6eZV1qtMyJ9QmgTauWUdD3pbLxVfaaW8tiV+9tPORVy2sY/KkkkZVXrktgCqmkyR3N1IyfMvQN6ipd+hL5OW1i9oXxLsNdl8qTEc68Fc966uztkuk3IcrjqO1eM/FDwFNBJ/bOk5W4h5eEcCVf8a0PhL8W/t1qsUrusijayt8rKamnVtLlqIJ4dShz0mep3cKwbtyg9vest0wuM7lPTIpkmuyXHPB96akm88/d6n3reTRiotR1Keoxb4938OecdPpXjvx901NQ0S/t2Kr9oiK/pXtF0v7k4J2/wAq8n+MFubu2mblvLGDt61jUXumPN72h+e/h79im6+NHxU1DT2klt7Hz0aVwnyqByWzX19qOj+B/wBj/wCEazalJ9l8NaXtSZhwzk4BwfU/1pf2f/BesWOsatqiW7PY3IWLAXqwPWvmj/gtj8Ubz/hF/CnhGO3kW1upWvb0K33gmAq/99FT+FZYZupOPMd1ZuFN22sez6j/AMFdvCdr4V1Lw/8ABLwLfabqWqQ7ZNXvmQRWvQeYQCzvgZIyQMkV9y/8G9vhy3T9nrxX4kubeS51zxBrLyXetXWWudVCqozuP/LNW3AAcAg4r+fn4dfHDWtC8JSaDp4sdN0q6/4+54bfN5Kh6jeeBxkZxkZ4Oea+wfgR/wAFnviN4I+G2k/Bf4U6Pb2dvPi0uNUljZ7q2iJy/lAHaGYbsE5xnIya+swuIUaqnPZLRI+NxuFk6XLT3b1Z/SYrbhnt2I70teV/sV+LdS8Zfs0+FbjWYWt9Wgs0trxGJLCVAFbOec5r1SvqIyUldHzEotOzCiiiqEFFFFABRRRQAU2d/LiZtu7Hb1p1NkQSoVbo3BoA+Ff2wf8AgrvH8BNe1Cz0W3guisYQQ3dqyz20ozuOd+1hnpwelfhr/wAFKP2svEHx4nnhXbb2VwWd0jAXO7P3mPP5e9frL/wWI+B3hvw43iLVp1jjvoF8+0kkX5lV13+XGB2BLj6Cvw9+ItjH8QPEBs1mM80h/dpGdzHPoBXyOOrVnX5amyPqsto0lS5o7s+TJbaTS/F0DbmlljmVi341+iH/AATl8QR6Z8UdLt/MZY72NonR+xIBH8jWd+zJ/wAEdPH37QGpTLouk2liYyBLearOIlQEdhgt3HQd69Bsv2YdW/ZO+KOnafe32n6ldaBeIk15p0hkgdsjcAcA5GcYIqcZifaKMktFpc9HBYdLnpp6vU+vPiJ4dH2FNu7A7f59ab8LkIuRHt+vtW/4wK3mjQzDlZFU/nzVD4a2ax6kWH8RrxczjqmenlNa0XBnq1i32W1C8bdoOfWvD/2q/iJHp2nNa+coDKdyk9K9G+N3j+P4X/D6W+b5pZCI4Qf4mIP8q+CPjL4z1f4geIUaeZm8xieOijrXk1KiTUT2KV37yPKvjdrkc07LDJ+8kb+E9PQ/pXXfsYftcTfD7xbBpHiuaSbT5XCWeoOCzW3P3JD3T0J6Vo+E/wBmuX4gwLcT/LNkscjnHbNdT4b/AGOrOxvS91Mu1VCqD1zWscX7trXG43le598/DT4yaXqsEEljqNrMuARskDZ/Wt/4u/tCafoiW32i4ik1B4swQAjc4GOfYD1NfLf7Pn7PWj+GfFC3cflKyjLEHbk+/bHNe63PwQ0O/wBQXULjyI7jaB5pbqO2aaqVnG0ERUowUk5M4nXPjHqHiC7hkkuJphM2VG7YgHXAH9TXp3hb4pW1poIaQsm5QFzyc46fnVDUvhnoMYdYLhWVj/d3L26VM3hjS7PSl/eSNufaj+S20n0Fc6jiYO7M6kqTjZE2qfHawMix+dwBhlz6Dk1x+oeI9P1rU2v9Lu1t76NuVIws49x/WsP4pf8ACIeFdM83XtQbSpI32rcOhVRk4G4498c1478R9Wt9FsZr7S9T86KEbg8LblcZ4Jrnliq9/fjoaU6MfsM+yPhN8Qh4rjMcjGO6gO2WM84P/wBevS4YsR/r0zXyh+yJr1z4p1Syvn3fvLcCUAfe/umvrBW3Rrjjjg+tenh6znDmZ5+O91lXUE2QNjHTqO9eV/E9/K0y4b5dyxtnI9jXq2qMqx8/L2xmvF/j/rY0TwDrl2Qqrb2UsmT7Ka33Vjhjr7x8o/8AEQT8MfhXpWpeF7jwn4outa0WaW0lFtFD5NxIrEEhy4+XjvzX5q/tO/t6eLv2q/2hbrxNfWsdvYyL9lsdMiO5baEHIyf4nPUn/CvI/D4m8U/ECbUrpTJ/aF3JNKcdS7E/zNe8fAD4N2GsQ61ceXHJeEGO3yB8nfP1r6aVHD4WPw3djy41MRX0bsrmd4I8R/aoSxgMefmYFeR6j/61fpP/AMEjPjJa6XoOpeF7Xw94Zuri+k89ri5i23IzgcNjpwOK+A9d+DWo+GmaaAbYo1/eu33U7mvav+Cecjan8VpHtbpmhjRYt6nBLZ5Oa441Ir95E0qwlbkZ/Th+yt4ZvPCnwb0uC8O6S4T7Vu95PmxXpFcF+zJ8QrT4m/A7w7qlmfl+yrBIveN4xsYH8RXe19lRs6acdrHxlS/M7hRRRWhAUUUUAFFFFABRRRQB8Bf8Fwfg9qXxK8F2a6Ikkl/c2UkUkaLy6ITyPceZ/L2r4C/4JH/sfeBdJ8RtJ408N6XqUkeopFMLuAOTnhck9s4OOmc1+33xY+EFj8UtTSO8Z1kjsZktJFYj7PIxX5wAcEjCnByOK/PXwF8G1+E/7TfjbwxrjfY7rWYxe2C52YmUtu2HjKk/Mp5+XBr5vMsLJV1U6NnvYHFL2LpdT039u79i/wCGHhf9knxjfeDfB6w+PL7SrkaVFpNxLBcefsbaVEbDaBkcjHpX556B+zl4R+FH/BNTUPHVv4shvNU0e2iunsEmSTy0IV5AVPzGVgS2TnLMB6mvv3wt+09feANS1DTbqxXUtcmja086ZiY7dem4/wA8e3pX4k/tMkfseftkeLrrSY7XXtB8UyzSXNpKGjtYZ5iSXCDI3KxYe6nrU1qlGVml8vM0wtOtFvV+p93eB/iNpPxa+Bui+ItCuWvNNvrRWhlZChbAwcg8g8dD0q/8MtYRtRgeT7rAocf3ga+Xv+CQHj6TWPhb4u+H1zIrXPh28a+sBnGbafLYUf7L7x7DFe7eG7ltI12WFvlNvMXHPY//AF68fHU+Y9rBycWdp+2D4PvPHvge0NmGb7Nl2XHQ4zn6DFeC+AP2cb7WdDXUlZbh9mVQr1I/x6V9ZWOoWureFLlpJulsWK+p71xnwTSK4tNQjVfKVrhtkY6IvH9c18xWp/vLvqfRYfEe5bsfEf7SnxR8X/B64iGl2N8lhEf9KS2t8zMf9nHYe3Nej/ss/ti/DvWPhF4lg8T3E9vrNpbSXFrHexSRzTyYz5all5bPAHfNfQnxm+G1mZVmmtY7i0m+Ugr0Nef6R+zrouozsbS3RWYg425rr56UoqMo6op0YVHrJq5tfA79qH4Na5MbjWZNcVZkjKQRaTdNsJHIYouAc19BfCX49fAO+8YRra+INMtZI8eXa6yJLYlv9lZgN34ZryfwH8IU0MeX9lhkjAxu29Tn0rvNK+FNrfMnnafYtz/FApI/SuijZL3QxGXUmrKrL7z1TxF8d/hn4St/El9b6potxMYiFgtQrso/2FUHPXtTtQ/aR8IaPp2kx2dv/bht7UyW6W1oZEBbuTgANz3OeKytL+D2nxWCqlvCuF5PlgEVp6R8ONPsp9zKH9Aw4rScZc19Dy/qdBR1m2eO/Gv4TT/tQa/Eg09NL0eTLXEbJua4JIPzHpwRwBXj37VX7O+n/A74RXUOlW4WTUpUilk2/MR0/kK+44JI7K2WONFXAxgDFeA/t+6V9v8AhhAyY8yOYMBnqB1rjxEfcbOzB4hqSpLYP2Kvh7D4f8HWcm/dI8C72PIz2A+le+FdrDaVIx1rx39kOUyfDK1mzuVkXnP3uMfzGK9YtHDS4HQEnAPArbDxSpqxw4yo5VGmO1BcWrfQ18s/8FEfGn/CI/sueOr2NvJli0qbYc9ypFfTXiXVUtbNwv8AD1HpXxj/AMFSGOq/sr+Iwsny3BSBgOhVmw1bKSi1JmdNOXuo/Hez8GL4N0jT5LkeTDOo+cjOD617T+zFrEfhXVr97j94saExEfxE9P5V5N+1X4nheTS9HtGC/ZbdZZccbTjgV6F+zl4G1zxj8OrS8hs5t0sfLgHaEQ43Z7Z617lWEp0FVl1OP2iVX2a6HvnxB0D/AIWd8PJrG2m+wrkNNIh+faMEjp36V2/7HXwxj8A3mn21tDtmupQBkfMVJxz7mvJNL1Sbwv4qist0hikCLIX6kk8/0r6c8HX7fDzxX4L1pljnhu0W8RP4cIykqT074rzZppcvQ0lLr1P18/4Jh+Nn0yx1bwlcyNujC3kCN2JGJAP/AB0/8Cr66r89v2Y/H1vL8YfCviazlW3j1TU0sJrbPJWUbR/48VNfoQRk19jlM74dR7Hx+YRtWb7i0UUV6ZwhRRRQAUUUUAFFFFAEckG+aN/4o8/kev8AT8q8j/a3/ZzX42+F7W+00QW/inQJDc6bcuv3zjDQseux+PoyqfWvYKbLGJkKnvUVKanHlkVCbjLmR+PPxG+I154X1DxJe6lYta6xa77eS1f92/nZIAx14NfKP7Svwa0Hxh+zxJfatGn9vW9yzWkJiP2jUmkOWdn6kLkkDpx9K/bH9tv9jPQPjp4QTUrfSU/4SKxuYX8+CMeZcw7wHVx0fCksM85XAPOK+Y/2jP8AgnheeBP2etW8ea9cQXd94ehDx6TGgxFbCQLneDjzMHcQAQMYycc/KYjLa8J+7qtz6TC5hRcVzaM/GP8AYa1/UPg9+0Lp/wAscMdqZk1V2yGkiYAY/wCAnB596+6fidoS6V4ijvImHk3C7htPDA818sr+zb4r1aXxp8WtP0mYeDxeLZzTgZWIsVTOMfdyQMjgZ7Yr6Q+G3jK2+J/wkWwE0dxq/h1FilOMNLHgAMPp0yPSuWcG1Y9FVFzXRc1bx5/ZngiSFpWXcNpI9Kt/s7eIUtFa13ptYkkk5ZiTwc15R8RZJl0+4jYvwuMDqAak+Aviv7HqMYuDtZWAyW6eg96+bxdNxnzHtYWXNTaPrLxHpCa94caN41ZcccdK4XQfBrWOpyKkjBOg2nmu+8LeI4NW8PyShl2qnr3x61hW+uWNnNnzI2YHIHXFQ7aM66cm42NPSLKaxRmXd6kHmum8LXky38TSNvXPCniuZ0fxHJqN03lKCvXJ7iuq0e4khPIVtvPXpXVRmuhlUoyZ3lvpX9pQh1luEYdAewq1Fp32OEqynpweuK5e28V3Gn2y7ZCW6gn7v5VPL8QSsC+cpDZ52jGa6ZVIpHL9VqdDYmmjEmBhdoyTXln7S2m6frXhqJdSz5fzFcEgKeldRJ4sW5jaVl2qeBzXnPxv+IFr/wAI61uzlpJP3YRiMDnrXHW1gxqLhJEn7P5Xwz4SjsY22w+ZuX/a716dDq3kAyI2f7xPf3rzD4N2Aj0HPnSSIfmUk7hg9ga7UX8dnb7mbp/KtKN1BI4asr1Gyr4s1aS5lZV+/IQOO9fNv/BSmwA/ZO135t3l7HOB1wea9+jm+0LNqEjfKpKxj1968X/b2vre2/Z71K1uSm17GWVwxx/Cev8AntWeIqWtFd0d2CjeVz8Zfg18KNW/ae+O2n6DpcP2nVPEOoLZWxddyxrj5nYf3UUMx+lfvl8E/wDgnDoHwS/ZwuBp9urSWVr9mWWRAWmIGGJ46kg/jXgv/Bv/AP8ABNiX4ffC4fGDxTpZi8ReLwbbwxbTR/vLW0c8z4PQy9fZAvqa/XC78DW622k+Go1VobdBNdH1C+v1P9a/QMLhlOneS06HxuPxnLVtA/nh/bf+A+sfAD4sLD5Ui2GpBJoZyOIs8FD7j+VfRzJ4f+JH/BM/wvq1hfrH4z8D3zW81ucBpIi5BHqcqYzn/Z96/Qj9rn9izw5+0VoGsTalCqQpOkNs8ajflT1H45H51gfDD/g3U8KQanHdeJvGGstp42SjT9MAgDOOTvcluOnQCvPll1VTcYxumdUcypSgpSlZo8g/4Ju/E21+LPj/AOF/h2zk8nU7bU4rq9y5O4Q/vDx2PyH8T7Yr9ihXx58GP+CPvhn9nf456V408G+JLzTG0qYSi3mtBO1whG143feuQykjIXIzX2GOBXrZbh50qbjUVtTx8wrQq1OaGwUUUV6RwhRRRQAUUUUAFFFFABRRRQAVDf2EGq2cttdQw3FvMpSSKVA6SKeoIPBB9DU1FAGHq/wz8Pa94GvPDN1oulyeHtQt3tbjTvs6rbyROMMpQDGDmvzv8Pf8ENfGnwu+I32Xwj8QtAXwB/aL3Cx6pZSTalHasDi1O3ar7flHmFwcD7oziv0sxzRnmuephqdS3MtjanXnT+Fn4jftr/ska5+z58RrzSdShEkcimezuYlIiv4SfvKT3XOGU8qfYgn5X0qeTw34xZXX93G5XOc84r+iP9oz9nLw5+018O5/D/iG39ZLO8jA8+wlxgSIf0Knhhwa/Cv9rb4PRfCXx7r2lrdWepSeH9RlsJrmybdDI8TEMep2t6r1Ugg9K+VzjK+T3o7H1GUZlzPknudP4P8AiZNJ4dEMcix7skkN1FbPgUm+1XdI27B596+f/Anjdbby5HZkSYiNRu3Ff88fnXufwj8R2baqm5i427ic4we1fJSpuMrM+yo1oqN0e7+GfDfmWUcnlqiAHnvVy4kFiwb94yjgBeMe9RaL8SdF05VhknRVxn5iMA1yHiT4wWMusXEazRs8eWUf3q6fcjG9zFVm3bodxHqjX8JHlySBjjG6sy6TNxt2ttXsT0rC0X4w6VptkskjLvLZbPv/AEpfH/x00vTLG2uo1hlWRdpKcDP071S5JLVkyrOOyJfE/iiPw7pcrSKSyqzoAfSvB/GnxCbxp4t0+3haa+jkmHyxL88RPGD+efwrmfi3+0K+oXV5I0mYMbFGMbSa0v2Y7EWOnya/fEfaLiUmAE4KoeuQaXLd36HFWqNK73PqvwxJHoWg29p5kbLbxqAAAu4gVia34pXXtYNjbFcKcykE7Yx6E+vtXn9x4+1LxRftY6b807cM6n5Yh3JPr7V2Gi6HbeENDaPezSH53kJz5j+tFSslojmpUXJ3ZqavfR21tHBHIFihwz5PGBXj/hv4cyft6ftPW/glI2uPC2l7bjXXBO026t/qW/66EFcf3Q1ZP7QPxmXwxos4WTzJMEKq/ecngAAV9uf8E8P2apv2Zv2Zbe8vrdf+E28dSLeXrEfOkko+SLPXEaED6hj3roynL3jMQm/hRpmWMWEw+nxS0R9HfCzw9Y2ztfJDFa6P4ch+yWUajai7RgkD2xj862Fea30i4viv/Ey1+Ty7dSOY1/h/Ic/nTrzRI9MsdF8L25+VsS3R7lF5Ofq1XXvlvtXutXYKLHQ0MMI7M/8AEfw6V+lxikrI/O5Sbd2ZmseF45b3TdHhG6OwAuLpuuT2z9Tk/hXcfBPxvJ4g066s7k5azneO2cnmWIH+anj6Y965UC40jw20n3tY8QSfL6pu6fgq0NYt4X8RaHY6czCTTz9pmPqMEEH/AHsmqEeyUVX0rVIdZ06G6t2DwzLuU/0+o6VYoEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFIzhVJJwq9Se1R3t9DptnNcXE0dvb26GSWWRgqRqBksSeAAOcmvzJ/4Kx/8FIb7xF4K1Dwl4LvJtN8N3SPDd30bGK41lMYZVPBitvU8NIM9EzvOtiowcnZHnX/AAXO/wCDgGH4T+FtY+F/wM1QTeILhXs9X8XWr7o9NH3XhsWHDzdQ04+WP+Es/Kfkr/wS6/aJurn4t6p8OdevJNQ0zxLFLd2UUzl/Kugd0gBPOXyWJPcE9TXmP7SGpXV3q9yI90n2okJ8m3zAPQfwoK8d8A+N7j4OfEzR/E1jIVm0G+juZZl/jUHDxr9VLD8axxNHmjyyPSoU1Sd1ufqN47+F8nhqWZtP8xooZSwiByUzz09qd4W+Jsnh21t3VsMrHcGG0hsfyr0az16z8f8Ahuw8QWLBrXVrZLlGXoQwBrDuvCtvdzszRxlj0JTlunNfB4rCx5mj6jD4qXLZmP4k+NU3iCGSSGT7Orou4FsHOB2HuK4u78eX1j4mhm+1TPHIuWwejZ6V6xpXw+0VI90tsjM53Nnua0z4C0WTh7GFg3PKj9K8uWHitD06eKdtDy1vi+1rJHuZpI1OCAeoP+FO8RfFi61uP7Pp8Et3DAcqMbSK9JbwBpMe7bYW+QMY29KqzeG/KK+XHGi9AFHzflVRpwg72IqVpT0bPJ/Cvgu81XU21DWGWRVYSx2oPCnnqe/PODXsng3Tda8dXcdtaO0VufkaUDCxgdh71e8JfCObUb8TXiqlqOdo5J+teyeG9DtfDlisdrCsa9iBjFZVazeiIhT6lzwT4I0/4f6MsMMP71x+8kY5aQ9yT+dcX8aPiUnh3T5o1k28FVwa3vG3jFdJ0uSRpkDQqeOlfH/xi+IWofErxTDoulhptQ1WdbW2QHPzMcZ+g6k+gqKdN1JcqOuEbLnex7d+wL8E7j9r39qrTb6/habw34buftUqtyk8sZyB7gNj8jX7AeENOj8QfEB5umn+G4/KT+6ZiOT/AMBXj8a+bf8AgnZ8CrH9m39nyS+WL975QijYj552HVvcs5J9819LWumTeE/htZ6ZGf8Aiba7JtkYdd8nzO34DP5V+k5Xg1QoKK3Pgc2xrxFdy6LYsWOp+Zaa14kkG43GbezHqi/KMfVsn8qksNLxHpWhyN+72G6vD/e78/VjWhqekQyajpOhQBVtdPjFxOB0AXhQfqefwrKuLyR7HVtTT/W6hKLO0/3QdoI/HJr0zyTXsNQhmv77XLhs2eng29mOxx1I+p4H0qORZND8PXF/Mu/WNaYLGndc/dX6Ac/nTrayj1LVNP0aMBbPSI1nufR2/hB/HJ/KrVjcx61rVzrVwQun6arR2oIwCR95/wClMDHbxTqnw3m0zSbC4hwVaa5WaLevv3BBJPrW5oX7TGi3GofY9SjuNPm3bPOKFoC3Tr1H4jHvXKeLIj/wjs+pXcXmXeszBIYSSGEQ6Aehxz+NefSeBo9WikvLW6vGuIX2yWvm7ZkP0/ipFJI+s4J0uolkjdZI5BlWU5DD2NPr5z+GPxE1TREa1s7q4zD/AMu1zHjcB1wD1/DmvRPD/wC0Nazny9StZIWU4MkB3KD7qeR+tArHpFFZuheLtN8SpusbyG4/2Q2GH/ATz+laVAgooooAKKKKACiiigArJ8a+N9J+HXhy41bWr6HT9PtR88sh6nsqgcsx6BVBJPABrj/2gf2l9B/Z8sbMao4k1DUw/wBjtt/lq4XG5nfBCqMjsSewODj5r8aeOLv4hq3jbxnfIul2KtJp9pnbb264+8qZPzH1OWPTOMAS5PZblRjcq/tb/tR33jHwzdXl95uj+FIfntdMchZb8jlZLnB9siIZUdTuIGPzJ/aA1i/+It1LdahaXDyXjk2dn0a57hn9EHXB+p7Cvo74teMr740eJIdSvIZm09n26LpQ4a5I6Syf7PfngDk9hXB+K/AjLJebruNr1U/4mOoEYjtF6+VF/tD/AOuecCvewWX+zjzT+J/gbRmlsfmz+0N8LZNNF8fMV5lUnUb3bhIe/lR/T8xnPWvj/wCI1n9gPltH5cfIghPVV/vN7n/Pev1R/aN+F8R0fatmSqAtYafjBkb/AJ7zegGc8/qx4/M79pLQ20LXpl8zzWlkIlnxxI3cL/siuPH4dw1OuM7xPuv/AIJvfGZ/E/7N+k2d5cecdNLWRyfuFTgZ+owa+ldMu4rm9j28BsD/AD/ntX5x/wDBL/xhJY3PiPQZmZVmEd9bqeNxHytj8APzr7k8K+IXRwrbiuQV55r87zOny1XY+hwd50oyZ7NZeH01BUaIoVb73qv51pDwUz7N2F4zjHWsnwR4wt7m3jVk6cnPY12mn6wt3Gvy5A4GK8OVz0FdIwx4JZ3PzrtXngHmtLRfBVvbSxzSJGWB67e9bD3f2WNR0yOd1Zs/iBbeNsnecVx1JO9jWEG9zWggWJ2+7HzyBWT4g8Xx6YrLu2bchSp61i6v4y2R/vGXAHOD92vK/iX8R/Likjjk+bkA/wB2s4xbeh106f3GZ8e/i20dlcKs2xV+Vjurv/8Agl1+ytffFLU9S+JupWo+x2rfY9KeY7VQnh5eepAPGPavnXwf8Ode/am+NWk+DdFhkuJr24zcsB8sMQ5d3PZQO9ft/wDCv9n/AEH4G/ADQdB8m28jTrKGERwxBftUyIF37e7MRnNfYZFld17aex4efZkqcPYQ3Zdj+IPgvw0PDejXXiDStP0mzZS7XUnk+dIuAijdjOW54z0FeseG7u38XeM7rVopIptP0eHyoJI3DIzMMsw/DAz9a+VviZ8F1uXXXtYtftWqAFdOsANwgB9B/ePc9q8Z1jXfFX7NF9N4muPEV9bzXA8r+xbWY/ZpkJB8vZ0LHGNwHGT2r7CMeiPjHFvVH6EPdTL4dvNR+7ea9OIbbHVUPyrj8Mn8aux2MUutQ264Fh4fi3yH1kxx+Qyfxrh/2e/j7o/7S2h2euabb3Gn2eh2oM9pcp5ctvOUBKlf9kHryDngkc11Fos1z4ftrT7tx4huWlkbPIi6n/x3AqjIbYXE66HI0eVvPEl0RG3dIzxn8FGa3NRsUvr2x8PWvy2lmqy3ZHdR91fxNVZpYY/E81wqqLPQbYoMdN5GT+Qx+dPs7mbRfCX2gLu1fXZRsHcFun4Kv8qQGd428UWv9pTzSBXttLQxRgD7znsP5V562mTiaH7QzR3WqXPnOycNEg5xn6DH411muWFla+KbXSR+8j00far1y3VuoB/Hn8K5fxV4mm8SapJdWa+WswNpZqvUj+J/8+lRs7lRuaUerWlzo9xcXgaOxt5vLtplP70npkH602fWIYb21t7i1SOVuftn3llB6CReo+tYqgS27SSc6foYwi9pJR1P51ItvcR+WrMv9oawMyOw3eREO1CKsWb++Oj3MkSQ+XMrhkaI5Az0x2IpG+K3iOJiouroBTgD99/8XTNKgFkbpbOU/wBk2qkXLT/OsrDrj0/CqselWt1Gsi6VqO2QbhicgYPPHNFxep9W0UUVRAUUUUAFFFY/jjx5pXw58PyalrF3HaWsfAzy0rdlRerMcdB6E9ATQB8Rf8FtdBvLHT/A/iCMbrLzJ9PlYj5Y5PlkjB/3lEv/AHxXy94av/EGqeAtNg8Qapcato8Mgks7PH/Hwx+4ijqwHvxx6A19Lftf/GRf2oYodI1Cx/4ktrcC5tdPDfM7LwGkYdWIJGBwAxHPJPl9r4cutU1zaiwpqnl4JUf6PolvjgDsXIH4+wHPqZXCLk5voaSuo2Zz+laBdTXlwPMiTVZYgb67H+r0qDqI0PTdj9eTXJalbx2l1HFFCGjdydPhmyECr965k7nrxnnkdCSR7TrHhbTtD0q1hinW80k4lEUR3TarcN0DHuMjPoe+AK89+MfhI3cdxNdNH9r8sS37Rf6uzhHKwA+/f15PcV7Uaik7rYiPY+ffjL4Vj1PSpinnzR3mVaZQPP1I4PCdNsfPXgY9Byfyz/bk+HkmneNNssaBoZQHSI/JAP7g9/U/Wv168QMzae8l4ZIWkiDXNwo/48oT92JfRjznHfJ9K+Mf2rv2b5Li+1DXLqxWHTLqNoLRTy0XB+dj6n8fxrizicfq9ztwursz47/Zf1z/AIRz9o3R/JXbBcJ9kk28AAjI/UCv0E02KRJlbauV/KvhL9m/wDJH43a6kVvMs5tqk9ip/wDrV98+Goft+nQyY+YoCeK/LMynrc+uwMPcszsvBd2sIw207q9H0XWWtV5PGOFHSvNtDtVOC3Ycc4rqtP1JYY+WGV9a+brTVz1I0zptW8SMYV+Zd2MEVyup+J5JC3zKqp+VV9W1SRmzvAixnj72frXJa9rYhhYMx3fzrlTuzohTQ3xT40eJWXzOAMgZ715B448WMVkk8xhj5iO9dB4o1VhCzMfvdMd6sfskfCRP2h/2sPBHhaePztPuNTjub9GUMr20J82RSO6sFCn2Y16mCw/PNQW7FiKyp03N7I/Rb/gi7+yFZ/Cr4Ay+PdYtZv8AhKfHJJ2vHh7ezDHyYk7guMOx9Wx2r7kbTLPwwI5rrdqWsMm2C3UZ8kdgo6KBxkmjwXokKpB9jiSC3tl8u0VV2iNRxvx0HtVo6nDbSyWuiwm/1CYkTXTDKxn1Ld8egr9IoU1TgoR2R+YYjESrVHUl1OE1yzupb+4SK3S/1+4XJ5/c2SnoCf8AJNeOfFT4NafpNzLdahDJr3iWaJjGoXKwj/ZHRF9zX0U1h9ggmstOmEdxzJqOoyD5Ie556FvQdq8y8Uiz8ZeBb7/hH1vFtr2T7N/achIlvmLbcoTzt9COMcjtW3N0Mo7nw14HvPG3wC8eeIPiN/aF6+juEs7nSIJNltqSI/3cHjeBuUP7kdDX6SfBf41aT8bdDbxRpitb2Om2YjEMg2yxOQC2V7Y4FeI/Gf4J2d1YeHvC8MCrbxbZ5kA6pHzz9WxXhdl4n1r4D/FzxB4is7i8XwvpYijvtPjb91elPnOAeNwBwOmehNTzdGXKKlqj9Bn0518KWenf8v2tS+bOf9kncx/LitTR2ju/GFxcTMv2TQofKj9A5GWP4DA/GuS+Dnxm0v4weFJfGun7lsxAILaCQbZYz3BXqCTgY9q6RdDmWwtdLZv9I1NzcXrDsnVh/IUzE4DWL1vEWsXFra/LNrVw1xPIOqQjA5PuABWezRwSX13Co8uzH2OzXsW6Ej8eK1onXSrDXNXjX5rqdrSyUf3Qdij8TzUNlpSwajp2nHmPT4vtNwfVu2fxyfwqDQqXOnLaRaXop+9/x93ZHoOefq1ZzXk2s3cl1ENs2ov9ltB/cjH3n/n+lOv9Ue8gvLpT++1mf7NC3/POFeOPwyataZGlray6t923tU+x6emeZnPBI+p/lSH01NCHTodSuP7PX5dH0dQ903aaQc7Sfbqaov8AEPUGdjb6aWtycxH1Xt+lW002SZbXQQxWPb9p1F8/eyc4P1P6Cqk/xU060neKOzZ442KKwXhgOARS3Ej6gooorQzCiiqPiTxDa+E9Bu9SvpPKtbKMyyN1OB2A7k9AO5IFAGD8WfjDpfwj0Rbi93T3VxkW1rGQHmI6kk/dUcZY9OwJwD8RfHH45ap8TvEDXWoXG7duWCJMiGzi6kKPfAyx5YgZ4AA0/jv8Wr74h+JLq+uG2STkRRRA5W3jGcID3xzk9ySeM15TqFm12rbmKrJ8pP8AdjHJ/OsZy6I6aVPqypb6nI1/DKJvs7TNvaUjPlRDgfnXW6fYWcWmyNukXQ1fzJZT/rtYmJ+6O5XPHvjA4rgdRha9VY1Xy/tZ3Nz/AKuFf/1V2ngLxHL4h06GRIDdala5g06Bhtht4+hlb6f0wOtellddRk6b6irx926NC8hulv1k8uFdZuU2wQYzFpUB43N23fzPHQVl+KfD1vJo00EbedYQvlSDuk1W465J7gH9RngCtwW0JtrpDdM2nxtu1O/P37yT/nknt24+g6k1YsNBvNa1O1W3hW31C7Ahs4iuY9OhPBdu2446fQdAa9ycranLE8r8LfAxviDqkli7bdMWTzr2Rl2o9zkERg+gwPyHcGuH/aj+ANr40vbjS44f7Nu/KMb20q/ubrAwCp9f/wBVfb2j+BNP8D6O/h+4h8ptm9rgn/j5Y8l892zzXl/jzQFvdZk0/XrUXFj/AMsL+MZKemSOh9+lfPY7EOtLy6HZRk4u5+Juk/B6b4YfFTXNIuLd4WtLs4VxggHmvevAzeXbquflX/8AVXqH7f37PUnw5+LdhrC/vrHWLfalwB99k6A++Cfw+leX+F4zHtFfAZhpOUGfcYBqdKM0dpp0ACBsjOasT3UkGeQVxkYpNIjMsJz0x+tRX4Ijavl57nuQimVr7UvMTH4iuW8TXWIW3fdPNa1w7I57dq5rxXOwt23cf3aKe5pGGpwnim9yzAFQOma+pf8Aghp4cXW/2w9YvGWFv7J8PTNukbDL5kka/KO5OMfQ18m6u7TM35/Q19mf8EC7Gb/hqPxdcQWaXVxHoIWMMMBCZeWz2AxyPpX0uSq+Jjc8fPHbCTsfrPav51nDYi48lVTdezoMCFe0YPY1fjaTUYfs1nJHpumwRFgwAE1wg6kZ+6Pf+VYk8FxF4dvZYVTybNTLI68rK+75iRWb+0JY3esQaLY6fdSQtrKfYZnThvJbBfBHQ4B+lfen5qeX+Ktf1L9o67h0/SY7rRfA9ndfYn2uVk1ubdiQ5HJiAB5/iJPYZPsWo6JaxeIdF0e3jjjtdLj+0MijCjA2qMfr+FO0fwzZ6Pr+k6XaQxw2mj23mBEGAh+6v9ao/wBvBZ/EmtN92I/Z4T6hB2/4ETUlb6GFqax6jrniDW5OYbNPs0J/3RlsficfhXnGu/BuHxLoel6RcQ/Nqtwbu6GOq53nPtnAr1K80doPDOj6Sf8AXalOJLj3H33/AD6fjRbNGnijVtQcDydJg+zofQ4y39KkqLsfOK2niD9nT9oA+JNNaafwDpqKusaavMckhx++A7MgwTjgj6CvrzWfH66P4KuteUxyaprESpZwq27ylbhR+uTXEah4Xhn+FH2G4hR7nxI5SRWHXzfvZ+in9KfP4SsfCk/h/wANafv+zaan2iZnYswRBhQSeev8qa00CXvaly9OdY0XSVOYtMg+13J/2sYGfxyaxNU8StHo1/dRttn1qfyIm/uxjjI9sAmq0uuTXja1dQ5MupT+RA2Oka8Z/nUui+GU1O7VbuRYbLSox5rE8L3Cj39am47WIk0mTXdRsrWENHGyeVDx/q4/45Px6D61vie3bUmmUxx6R4djMcS9nlA/Ujp9TVSzv7hZJJrWLZeas3k2YYcxQr/Fj07/AJVIulW6Xps9x/s/RR595If+W03XBP6n6ikDIv8ASZrH7OnmLqmvsZJm728X/wBYcfU0p8R+HtLP2XdCfs/7rO3rt4/pVqFLlNPa+2ldU15hBaof+WEfb8lyxrZt/hhotvBHHJHE8kahWZj8zEdSaNFuI97ooorQzCvCP23viGdH0DT9Bhk2tek3lyAf4EOI1Ps0nzfWKvd6+LP2w9fk1r4y66u75LFYrSInsoiViP8Avt3qZaIqOrPHNRvPtN4W/urgZ9SahuliEJ3f6vGXx/dHQfiap3ryQXkp5wHjVfyp0M4kjXdzjkjPoa5o7nWUdRtFkSZZG8tpFDXDj/ljH2QfX0qjoOstoevw3A86NL4iCOCNtrCAdSfr6/Wr05UxfvlLJGPtEw/56uT8q1k6jBMt3JGhX+0LhP38xOEs4vQfhWkW07oq19Ge6eDfDq+O7eDUbVIf7Js3WO2gj/1duc43v6t6en1r1iz8D2fhCPVLATbbiRFuoZ5B80hA9fQdMDtXlP7FHxC0OPwrrfhe8mjs4pZP9DnlO37QcZJHuGz+lehfELX11vR/7L1JzZ6lbrttbpDxKvqD+XFds8VKotTklCzsYN540h+JWrQ6dq0DWssB+VWOPNPdlPcVn6/oV14PvJ5VVtU0VuJY2G6S3B9PUfr9ap+FWkkul0/Xo1SZWxa36DCse3P8JrtLmxvBZzSKFe8hO2e37XCdmHua5W7lHzP+3r8LY/Ev7N9xqellb2y0uVLxAOXtQOGx7YJ4+vpXw34Y05ZiNuOn5V+p2veCIfib4K8SWel7VkurWSC6spBgNlccjsff3r8x/C+j3Gh65d6bdqyXmnzvbSq3UMrFTn8q+V4gpuLVVH2HDtZSpypPpqbdjZeRH/vVm6q21jjPHrXSzRYi/D0rn9aQIeAM18XK99T6mi+hg3UIY5zxjtXK+MF2QuBzxjpXVXL/AD7udx7Vy/ikF4nB568Cqp6yN+VpXOBli3yNx3r9Gf8Agi3+y54y+H9zdfES6kGm6B4pSLT44GX97PHvJWQ8cKcnA6nOfavij4SfCibx9rW3yJprWM5kCj7/APs57D1PpX7SfsUeJ9P+JH7N8Ok2CwQy6ZGI0WJgyxSR4AAI9GGK+2yDAty9vLZbHx/EePtD2EOu56zaaXFZ3XiDR5PljuIvPi90ZcHH0IrnLOCbV/F2hx3H3tNtDIw9GPyj9M1evfEy+INa0Fo/lvJLaX7So6ooIBB/4FVHTtTWHX/EWoMf3dmqwKfQIu4/qa+sPikRyeIVtT4k1XPywsYY/cIMf+hE1kz6c1r4b0DSW/12oTiaceuPnb9ePxqiN0vhDSbM5EmsXQlkHqCTI36VrSX8dz4+vLlv9Totp5YPZWbk/kAPzqRk014k/jK+vGx9n0a12KewY8n9APzrEcEeBrOFv+PjX7oM/PJVjuP5KKp3mpsvgEc/6V4kuucddrHn8kFJq/iBZfGFssKGSDSYhFGAPvzNxgfQfzqdirG5rWtx3Hju1h3BbbRbfzm54DNwPyANcrp+tXni7XNTmgDxtenBlbpDAvA/Pk/jWl4Y8LzXHiXUmvpt6p/pF4R0LEfKn0AFXo4BZfDi4ulXZca3KEjIH3VdtqD/AL5oDYq6Np50Tw22qKu5pCILCMjqScBvxPNakvhlW1TTdED7lx9tviTzJ6A/Vv0FXru1W48W6HpqriHT4WumUDjIGxf5mo9HvVfUfFGtMfkhY28ZJ6LGuf8A0ImlbsGpHYX8cc+t68y/ubBWtbVewCD5iPq3H4VVl0mS08KaPp0n/H3rl0r3R7sOXcflxS3Vo1v8M9E09v8AX6tcRBx3bc29/wBAa0724W++JUS8eTo9izt/ss54/JV/WnsIdNfRP45nlOFt9BssYPQO/J/JVH51xb6b4k1t2vYZpEivD56Lj7qt8wH61pGWTUvDMm3IufFF8QPURE4J/wC+F/WvQobqzsolh3ovkgJjjjHFCfYD16iiiqICvhn9oJvP+KPiot/0EJFH/fQFFFTLYunueU6nCsrf9dLlc/lWPI5JJ6ff/nj+tFFc51F64hV5Yz0y6MffHNYlzafbRb27My/2izzXDj70mCcL9OKKKaCJhSX+xLy+VFVdK+S2iH3Yzkjdn14r2/8AZl1+b4i+A7rRdcMmpMpWSO6lc+bFu6AfT60UU07MdTY63wIzWvj+68L3rf2jaqgZJZBiRQT0Prj1rs9XZtMsLi+Rma40VjEGP/LdMdG/xoorXqjnNNbGGDw7D4ht41t70lWk2jiVT1U/nX5u/tl+FrXwZ+1/4ojs12xag0N6UxgI8iDdj8VJ/GiivEz1Xw/zPc4dk/rNvJnGtKWi/HFYOu/OnPr+XSiivz+e595S3MO6O2PPocVhX2lf21q1rZeZ5JvJkg8zG7ZuIGce2aKK1wsU6qT7nRXk1SbR+gPwS/Zd8OeF/AQ02FZGjhhDzy/dkumxyWP49BW5/wAE1filcWXx78XeFra2jt9N0uRTGqt1LBs8Y/2BRRX6phIpRsux+TYiTk25H1Z4Wt1T4ia1LjJhhQKPTczMa5u6vnf4X6hL0bUbt1kPfDS7f5UUVr/wDkL7IP8AhO9Ph/gsrNnQe5wP0FctqOsTJ4G1a4UkTalfmCRgeQC4T+VFFHYoTUS97qcPz+WunqlvCoHCl+C31xXX6VoVvb+Obe1Vf3dja+eCeruxwWPv/jRRUgyO0kZPh14gvgf391PMCf7uDsH6CrfiKBU1DwnpyjbbLJv2/wB4pGcfrzRRTW5JY0NvtHj3XJm+9bwRQr7DBb9awLeZl+Cdww+/qEzeYf8AfmwaKKS2Dqber/v/AB9odoeIbG1eZB6two/Qn86wpL+SXw9rV5nbcajf/ZC2f9Wm4RjH4Z/Oiil0KNzQ7CP/AITiRcfu9EsV8hO2Wzk/kMVxMsF1qsrXTX00bXJMpUdF3c4/Wiirpgf/2Q=="
+}

+

{
+    "resourceType": "Binary",
+    "id": "Binary-PDF-Example",
+    "contentType": "application/pdf",
+    "securityContext": {
+        "reference": "Patient/example"
+    },
+    "data": "JVBERi0xLjUNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDEzMDA2OC9PIDEyL0Ug MTI1NzM1L04gMS9UIDEyOTc2NC9IIFsgNTQ2IDIwNF0+Pg1lbmRvYmoNICAgICAgICAgICAgICAg DQo0MSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0 ZXIvRmxhdGVEZWNvZGUvSURbPDRDRDkwQkY3MkI2NjU5NkVCMEJDQzlBN0ZGNzIwMjE3PjwyOTkw ODAzRkY2QTc0OTQ4OEEwNTdBREQzRDdFQTM0Nj5dL0luZGV4WzEwIDU4XS9JbmZvIDkgMCBSL0xl bmd0aCAxMzcvUHJldiAxMjk3NjUvUm9vdCAxMSAwIFIvU2l6ZSA2OC9UeXBlL1hSZWYvV1sxIDMg MV0+PnN0cmVhbQ0KaN5iYmRgEGBgYmBgugciGf1AJMNmEMn2H0RyxIJI9slg9k4wuQNMHgCLZ4DJ NLBIJIjkagGbA2abeIDZmiAyvhFsMkic0fApWFwDRPoWgNmhIFIzHMyWBZFWWWD1YSCS/yhYXAFs yxUQyXoQSP6XmsbABHT/TLBKBsZBRAKDTvQFQIABAIHlFZoNCmVuZHN0cmVhbQ1lbmRvYmoNc3Rh cnR4cmVmDQowDQolJUVPRg0KICAgICAgICAgICAgIA0KNjcgMCBvYmoNPDwvRmlsdGVyL0ZsYXRl RGVjb2RlL0kgMTM3L0wgMTIxL0xlbmd0aCAxMTcvUyAzOD4+c3RyZWFtDQpo3mJgYJBlYGAqYGBg YHz+mgEVMAIxCwNHA7KYLBQzMIQy8DPsEVth4VD84E3jjcNb24X5lGQEAisY3OoSTPXFGFgSFZj9 Mm4wsCo4GMl0NTDKPGDWsf4RdqCuAW4846toqDVtYKsYf/JD+IxcAAEGAMGGGRoNCmVuZHN0cmVh bQ1lbmRvYmoNMTEgMCBvYmoNPDwvTWV0YWRhdGEgMiAwIFIvUGFnZUxhYmVscyA2IDAgUi9QYWdl cyA4IDAgUi9UeXBlL0NhdGFsb2c+Pg1lbmRvYmoNMTIgMCBvYmoNPDwvQ29udGVudHNbMTQgMCBS IDE1IDAgUiAxNiAwIFIgMTcgMCBSIDE4IDAgUiAxOSAwIFIgMjAgMCBSIDIxIDAgUl0vQ3JvcEJv eFswIDAgNjEyIDc5Ml0vTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1BhcmVudCA4IDAgUi9SZXNvdXJj ZXMgNDIgMCBSL1JvdGF0ZSAwL1R5cGUvUGFnZT4+DWVuZG9iag0xMyAwIG9iag08PC9GaWx0ZXIv RmxhdGVEZWNvZGUvRmlyc3QgMTkxL0xlbmd0aCAxNDM3L04gMjUvVHlwZS9PYmpTdG0+PnN0cmVh bQ0KaN7EWFtv4jgU/it+bDVi47sdaVSJQi9I04sKux0J8ZBChmY3EBRSqf33e44NNIRQLrPbCoU4 9rHPxZ8/H1tyQokUhAtFpCRcCSIVEQxemihliTTEKE6kJVaDSEgYNZYoSpgSjChGmNGCgAQXVBHo zpWCnjCUUfCtCLcG2jWMyUDeEKEYJzCwMDCeCokIoVGDEdRIohkYw+ANGjWMB0NLKzjRElRyRrAL A1M1qBCSk+/fg1aWZnl3Fg1j/Jhr9IaSh7Oz4OK1uOoWUYENV12G/vmGy2xaQF2vx9A9qMMiQ+d8 maNfvijQFV+U6IUvOsN9UaPNvmjQTF8M0UKv7D7Pht246Af37cugF78WQWcSjePWIPh59/R3PERL OhNGhHV9OxMOIVkUwXvqhzk76wedVus8mscjwnHSHgbQ8e6e/IrSeQyFG8KCbnPx2b0h9A/Kg97b LH6PQ5DNfPvZGfRtzofxtIDZpUGr0wYTYQqd3lY0u46T8XMBc01p0I69YIOD5GUajedEuhCen2ev /YaigjQENYRxMDbUcuAaL6NJkr6dtKI0ecqTU1+XpDEAxQcJK26jSRz8uG3e3La+LSRdfbfI42L4 HNxm+SRKXdWjt0iCQZ0CRIfN6TiNCQ26RTz5i1jqfUVRNDhPZkWWBz9LjjinMYAoU9WKEXibw1Cd 6a8MA5uP4jyZjk86I/A9Kd5Og4d4nMyL/O2kOcqe4tOg+zKbpfEEQwNj4wi97KrTvolmwbJT0H70 MVw3C5cYhqD78lSg0dAVBdAB/u5G8NgXfc71wFreF1QPBh964KdpFEGYoXXelw6Ag+BiOsxG4MnK qMb1SjHqgsBlf04TEIph7Xr8Lk0o44SBI1uhIWi4gIbgJWywUC6woa2FLlasgaOZJ1F6+o4E9904 T6PhPztgEG6BAaeH4qCscxWqx2TanM6T1fdlks+L1nOUL90rz6Vftz+ihQQz8j2++UvcWwZ6ManJ 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 N2pszN84vslj09HNhM2Jm3/IM8krzXu9JWxLV75y/qb8sa0eW5sLJAr4BcPbbLfVbEdt527v32G+ Y/+OT4XswmtFJkXlRR+KWcXXvjL9quKrhZ2xO/tLLEsO7sLs4u0a2u2w+2ipdGlO6dge3z3tZfSy wrLXe6P2Xi1fVl6zj7BPuG+kwqeic7/m/l37P1TGV96pcq5qrVaq3lE9d4B9YPCg48GWGuWaopr3 h7iH7tZ61LbXadeVH8Yczjj8tD60vvdrxteNDQoNRQ0fj/COjBwNPNrTaNXY2KTUVNIMNwubp45F Hrv5jes3nS2GLbWttNai4+C48Pizb6O/HTrhfaL7JONky3da31W3UdoK26H27PaZjviOkc7wzoFT K051d9l2tX1v9P2R02qnq87Inik5Szibf3bhXM652fOp56cvxF0Y647qfnBx1cXbPQE9/Ze8L125 7H75Yq9T77krdldOX7W5euoa41rHdcvr7X0WfW0/WPzQ1m/Z337D6kbnTeubXQPLB84OOgxeuOV6 6/Jtr9vX76y8MzAUMnR3OHJ45C777uS9pHsv72fcn3+w6SH6YeEjqUflj5Ue1/2o92PriOXImVHX 0b4nQU8ejLHGnv+U/tOH8fyn5KflE6oTjZNmk6en3KduPlv9bPx56vP56YKfpX+ufqH74rtfHH/p m1k1M/6S/3Lh1+JX8q+OvF72unvWf/bxm+Q383OFb+XfHn3HeNf7Puz9xHzmB+yHio96H7s+eX96 uJC8sPCbAAMA94Tz+w0KZW5kc3RyZWFtDWVuZG9iag0yMyAwIG9iag08PC9GaWx0ZXIvRmxhdGVE ZWNvZGUvTGVuZ3RoIDIwPj5zdHJlYW0NCmjemsBAT6DAMAoGAAAEGABBpACxDQplbmRzdHJlYW0N ZW5kb2JqDTI0IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTMyOTgvTGVuZ3Ro MSA0NTU4ND4+c3RyZWFtDQpo3rRbB3xVRfY+t70XQot0CMILj9AVREQEhBCSUEJJCCUJLYWE0Is0 QTECIgSwYFBREaKuBQFfYotrQxcVxcK6Yll37QUVFAvuAsm7/2/KeXl5FNnf7j/w5XxzptyZuXNn zpmZkEFEdamYLOoxOqN7zxP/fOoDaJ4DcvKXLPIF7t73LpHRmshpXTh/+pzffx9Zj8jTh6hOq+mz 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 x6Quk2gmdZhEMfEy8TBxmNhMLCYmE4MJaWK4TIJMqplUMTnF5CSTE0z+zeRfTH5ncpzJb0x+ZfIL k5+ZHGPyE5MfmRxlcoTJD0y+Z/Idk8NMvmXyDZOvmXzF5EsmXzD5nMlnTD5l8gmTfzL5B5OPmfyd yUdMPmTyAZP3mRxi8h6TvzF5l8lfmRxk8g6Tt5m8xeRNJgeYvMHkdSb7mbzG5FUmrzDZx+QvTF5m 8hKTvUxeZPICk+eZPMfkWSZ/ZvIMk0omTzN5ismTTJ5g8jiTCiblTAJMHmOyh8luJruYPMpkJ5NH mDzM5CEmDzL5E5MHmNzP5D4mZUx2MNnO5F4m25jcw+RuJncx2crkTiZ3MLmdyRYmpUxuY7KZya1M bmFyM5ObmGxispHJBiYlTNYzWcfkRiZrmdzAhM0eg80eg80eg80eg80eg80eg80eg80eg80eg80e g80eg80eg80eg80eg80eg80eg80eg80eYyETtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8M tn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8M tn8Mtn8Mtn8MNnsMNnsMNnsMtnYMtnYMtnYMtnYMtnYMtnYMtnYMtnYMtnaMwY8LAqu5os2AtrCZ K9o0hVilQtdXtOkLUaxC1ymxsqJNPYhrVegaJVYosVyJqysuHASxrOLCwRBLlViixGIVt0iFrlJi oVIuqLgwEWK+EvOUmKuSzFFithKzKlonQ8xUYoYSRUpMV6KwonUSRIEKTVMiX4k8JXKVyFFiqhJT VL7JKjRJiYlKZCuRpUSmEhOUGK/EOCXGKpGhxBgl0pVIU2K0EqOUGKnECCVSlRheETsMYpgSQyti h0MMUSKlIjYVIrkidgREkhKDlUhUcYNUvgQlBqp8A5S4Uon+KmU/Jfqq7Fco0UeJy5XorcRlqrBe SlyqSumpxCVK9FCFdVfiYpXvIiW6KdFViS5KdFaikxIdVdEdlIhXZbZXwq9EO1V0nBI+la+tEm2U uFCJ1krEKtGqotUoiJZKtKhoNRqiuRLNlLKpEk2UsrESjZS4QMXFKNFQKRsoUV+JeiqurhLRStRR cVFKeJXwVLRMg3AqWqZD2EpYSmmqkKEESWG4SgRlEqNahaqUOKXESRV3QoX+rcS/lPhdieMVLcZC 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 mgo5X0gTIY2FNBLSUEgDIecJSRBSX0g9IXWF1BFSW0i8kFpC4oT4hfiEOEJsIZYQU4ghhDxiuELC QqqEVAo5KeSEkF+F/FvIv4T8IuRnIT8J+VHID0KOCzkm5Hsh3wk5KuSIkH8K+VbIN0IOC/layFdC vhTyhZDPhXwm5FMhnwj5WMhHQv4h5O9CPhTyNyEfCHlfyHtC3hVySMhfhfxFyDtC/izkoJC3hbwl 5E9C3hRyQMgbQl4Xsl/Ia0JeFfKKkH1C/ijkZSEvCdkr5EUhLwh5XshzQp4V8gchzwjZI+RpIU8J eVLIE0IeF1IhpFxISMhjQh4VslvILiGPCNkp5GEhDwl5UMgDQn4v5H4h9wm5V8gOIduFbBNyj5Ct Qu4WcpeQO4VsEXKHkNuF3CZks5BNQm4VslHILUJuFvI7ITcJ2SBkvZB1QsqErBWyRsiNQlYLuUGI mD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD3GAiFi /xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi /xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi9hhi9hhi9hhi7Rhi7Rhi7Rhi 7Rhi7Rhi7Rhi7Rhi7Rhi7RgDHmcCq7miZd9WsJkrWjaGWKFD11e07AVRqkPXaXFtRcs6ENfo0NVa LNdimRZXVVzQH2JpxQUDIJZosViLRTpuoQ5dqcUCrZxfcUEqxDwt5moxRyeZrcUsLWZWtEiHmKHF dC1KtJimRXFFizSIIh2aqkWhFgVa5GuRp8UULSbrfJN0aKIWE7QYr0WuFjlajNNirBZjtBitRbYW o7TI0iJTi5FajNBiuBbDtMjQYmhF4hCIIVoMrkgcCjFIi4EViRkQ6RWJwyDStBigRaqO66/zpWjR T+frq8UVWvTRKXtr0Utnv1yLnlpcpkUPLS7VhXXX4hJdSjctLtaiqy6sixYX6XwXatFZi05adNSi gxbttWini26rRbIus40WQS1a66KTtAjofK20aKnFBVq00CJRi+YVzUdANNOiaUXzkRDna9FEKxtr 0UgrG2rRQIvzdFyCFvW1sp4WdbWoo+NqaxGvRS0dF6eFXwtfRbNMCKeiWRaErYWllaYOGVqQEoar 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 YJxq3BjiQZK0UkiARSo5JRyDIPmB4vq//9kNCmVuZHN0cmVhbQ1lbmRvYmoNMzkgMCBvYmoNPDwv Qml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3BhY2UgNDMgMCBSL0ZpbHRlci9EQ1REZWNvZGUvSGVp Z2h0IDQxL0xlbmd0aCAxMzIxL1N1YnR5cGUvSW1hZ2UvVHlwZS9YT2JqZWN0L1dpZHRoIDcxPj5z dHJlYW0NCv/Y/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMT GBcSFBQUFBIXFxscHhwbFyQkJyckJDUzMzM1Ozs7Ozs7Ozs7OwENCwsNDg0QDg4QFA4PDhQUEBER EBQdFBQVFBQdJRoXFxcXGiUgIx4eHiMgKCglJSgoMjIwMjI7Ozs7Ozs7Ozs7/8AAEQgAKQBHAwEi AAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A 9VVfPtNOFfaDtLK3EO8CBonysujEr9S520Ew0dyT2AXIfWLrd3VrD0fCOylvuzrgdA39yVFmzQxQ lOZoANnlOVnmyR0qANymdgBu9B9WOpO6n0ejJeZfGx5PdzeStZcV9TOp14dTMSwFtGVdY3Gd2lnb 5rtUcM+LHEncgWnn8PtcxkAFQMiYeV/sUkkkpGqpJJJJSkkkklPFdVys3Itys8c1u+y4FPYOOjrf iEI9M+xYTOn4v6TLyfpP7lzvpPd8FsZGAWX0lwhtVxcf7XCk/Hsa622v+evd6VZ/dZ4hc5zWaWfJ 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 dHJlYW0NZW5kb2JqDTIgMCBvYmoNPDwvTGVuZ3RoIDM0MTIvU3VidHlwZS9YTUwvVHlwZS9NZXRh ZGF0YT4+c3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pO VGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJB ZG9iZSBYTVAgQ29yZSA1LjQtYzAwNSA3OC4xNDczMjYsIDIwMTIvMDgvMjMtMTM6MDM6MDMgICAg ICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y Mi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg ICAgICAgICAgIHhtbG5zOnBkZj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyIKICAgICAg ICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAg ICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAg IHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KICAgICAgICAg PHBkZjpQcm9kdWNlcj5BY3JvYmF0IERpc3RpbGxlciAxMS4wIChXaW5kb3dzKTwvcGRmOlByb2R1 Y2VyPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBTY3JpcHQ1LmRsbCBWZXJzaW9uIDUuMi4y PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE0LTA1LTEzVDEw OjQ1OjUyLTA1OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIw MTQtMDUtMTNUMTA6NDU6NTItMDU6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8ZGM6Zm9y bWF0PmFwcGxpY2F0aW9uL3BkZjwvZGM6Zm9ybWF0PgogICAgICAgICA8ZGM6dGl0bGU+CiAgICAg ICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1 bHQiPk1pY3Jvc29mdCBXb3JkIC0gRkhJUi1Dc3VpdGUuZG9jeDwvcmRmOmxpPgogICAgICAgICAg ICA8L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6dGl0bGU+CiAgICAgICAgIDxkYzpjcmVhdG9yPgog ICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT5Xb29keTwvcmRmOmxp PgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvZGM6Y3JlYXRvcj4KICAgICAgICAg PHhtcE1NOkRvY3VtZW50SUQ+dXVpZDpkNWNkNTNiZS00YWJlLTQ3YTMtOWJkNy02ODZmOGE3NDc4 NGI8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnV1aWQ6ZGQ1 MjEwM2ItMTU4NC00MjgwLTg4ZjItNmYyZjUzMjNkYjU3PC94bXBNTTpJbnN0YW5jZUlEPgogICAg ICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5k PSJ3Ij8+DQplbmRzdHJlYW0NZW5kb2JqDTMgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0Zp cnN0IDQvTGVuZ3RoIDQ5L04gMS9UeXBlL09ialN0bT4+c3RyZWFtDQpo3rJQMFCwsdF3zi/NK1Ew 1PfOTCmONjQCCgbF6odUFqTqBySmpxbb2QEEGADf+gutDQplbmRzdHJlYW0NZW5kb2JqDTQgMCBv YmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDQvTGVuZ3RoIDE3My9OIDEvVHlwZS9PYmpT dG0+PnN0cmVhbQ0KaN58zLEKwjAQgOFXuc1kaJrUZlBEEIvoUCgqdulSm4iB4Mnlivr2dnB2/79/ ARpWq3wz8h1JtIjuI/Mt+Z4DPqqevaiWhTaltmZudGltkWk703r2qybUnAYKT7bKxQgXT2mSYFWh CpnX6P5PGkI3Dp7EZiC89gxVSBxi9ATGKA2daMPD4St1UubnwNGLOkxpwhtDi+Qgg93+cMy2aQzs lcPhLdfrrwADAKY3QQENCmVuZHN0cmVhbQ1lbmRvYmoNNSAwIG9iag08PC9EZWNvZGVQYXJtczw8 L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvSURbPDRDRDkwQkY3 MkI2NjU5NkVCMEJDQzlBN0ZGNzIwMjE3PjwyOTkwODAzRkY2QTc0OTQ4OEEwNTdBREQzRDdFQTM0 Nj5dL0luZm8gOSAwIFIvTGVuZ3RoIDUwL1Jvb3QgMTEgMCBSL1NpemUgMTAvVHlwZS9YUmVmL1db MSAzIDFdPj5zdHJlYW0NCmjeYmIAASZGxtfqDExAVhuI5FsIZveCSEYuoOx/NhmwCAMjiGT6DyIZ GQACDACdPgUbDQplbmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0KMTE2DQolJUVPRg0K"
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Interaktionen.html new file mode 100644 index 00000000..2e18372e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Interaktionen.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Motivation.html new file mode 100644 index 00000000..b415ecdf --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Motivation.html @@ -0,0 +1,267 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Die Binary-Ressource erlaubt den Umgang mit FHIR-fremden Formaten (z.B. PDFs, Bilder, CDA) innerhalb des FHIR-Frameworks. +Dazu werden die Daten base64-codiert in der Binary-Ressource (in XML oder JSON) transportiert oder +über die REST-API am Binary-Endpunkt in ihrem nativen Format bereitgestellt. +Binary-Ressourcen werden von Attachment-Elementen verlinkt und damit in den Kontext anderer FHIR-Ressourcen +(z.B. Patient und Encounter) gestellt.

+

Das ISIK-Binary-Profil ist nicht Bestandteil der Implementierung des ISIK Basismoduls. +Das Profil ist Teil des ISIK Basismoduls, da es als übergreifend genutzte Ressource sowohl im Modul Terminplanung als auch im Modul Dokumentenaustausch implementiert werden muss.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Profil.html new file mode 100644 index 00000000..ee4b4dbc --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Binary-Binary_Profil.html @@ -0,0 +1,306 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKBinaryhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBinary
+

contentTypeS Σ1..1codeBinding
securityContextΣ I0..1Reference(Resource)
dataS1..1base64Binary

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Binary-ValueSet_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Binary-ValueSet_Kompatibilitaet.html new file mode 100644 index 00000000..c2fce809 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Binary-ValueSet_Kompatibilitaet.html @@ -0,0 +1,258 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-CapabilityStatement.html b/IG/3.0.4/ImplementationGuide-markdown-CapabilityStatement.html new file mode 100644 index 00000000..d82be0c9 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-CapabilityStatement.html @@ -0,0 +1,271 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Konformitätserklärung (CapabilityStatement)

+

Jede Instanz eines bestätigungsrelevanten Systems MUSS an ihrem Endpunkt eine CapabilityStatement-Ressource bereitstellen.

+

Hierzu MUSS die capabilities-Interaktion gemäß FHIR-Spezifikation unterstützt werden. +Der MODE-Parameter kann ignoriert werden.

+

Das CapabilityStatement in dieser Spezifikation stellt die Anforderungen seitens der gematik dar (kind = "requirements"). Zur Unterscheidung von Anforderungen, die erfüllt werden MÜSSEN gegenüber jenen, die erfüllt werden KÖNNEN, wird die CapabilityStatement-Expectation-Extension mit den möglichen Werten "SHALL" (=MUSS) und "MAY" (=KANN) verwendet.

+

Eine Server-Instanz MUSS ihrerseits ein CapabilityStatement vom kind= "instance" liefern und im Element software den Namen und die Versionsnummer angeben. +Darüber hinaus MUSS in CapabilityStatement.instantiates die Canonical URL des nachfolgenden CapabilityStatement in der jeweiligen CapabilityStatement Instanz angegeben werden.

+

Das CapabilityStatement der Instanz MUSS alle Funktionalitäten auflisten, die im folgenden CapabilityStatement mit "SHALL" gekennzeichnet sind. Das CapabilityStatement KANN darüber hinaus die mit "MAY" gekennzeichneten Funktionalitäten, sowie weitere Funktionalitäten auflisten, sofern diese in der Instanz implementiert wurden.

+

Die Verwendung der CapabilityStatement-Expectation-Extension ist im CapabilityStatement der Server-Instanz nicht erforderlich.

+

CapabilityStatement (Requirement) ISiK

+

Canonical: https://gematik.de/fhir/isik/v3/Basismodul/CapabilityStatement/core-server

+

Link Simplifier Profil Übersicht

+

REST Capabilities

ModeServer

Resource Interactions

Resource TypeSupported ProfilesReadSearchType
PatientSHALLSHALL
EncounterSHALLSHALL
AccountSHALLSHALL
ConditionSHALLSHALL
ProcedureSHALLSHALL
CoverageSHALLSHALL
RelatedPersonSHALLSHALL
PractitionerSHALLSHALL
ValueSetSHALLSHALL
Composition
Bundle

Search Parameters per resource type

Patient

NameTypeLevel
_idtokenSHALL
identifiertokenSHALL
familystringSHALL
givenstringSHALL
birthdatedateSHALL
gendertokenSHALL
namestringMAY
_profileuriMAY
addressstringMAY
address-citystringMAY
address-countrystringMAY
address-postalcodestringMAY
activetokenMAY
telecomtokenMAY

Supported Reverse Includes:

  • Composition:patient
  • Composition:subject
  • Composition:author
  • Condition:patient
  • Condition:subject
  • Procedure:patient
  • Procedure:subject
  • Encounter:patient
  • Encounter:subject
  • Coverage:beneficiary
  • Coverage:subscriber
  • Coverage:patient
  • Coverage:payor
  • Account:subject
  • Account:patient

Encounter

NameTypeLevel
_idtokenSHALL
identifiertokenSHALL
statustokenSHALL
classtokenSHALL
typetokenSHALL
patientreferenceSHALL
subjectreferenceSHALL
accountreferenceSHALL
datedateSHALL
date-startdateSHALL
end-datedateSHALL
locationreferenceMAY
service-providerreferenceMAY
_profileuriMAY

Supported Includes:

  • Encounter:patient
  • Encounter:subject
  • Encounter:part-of
  • Encounter:diagnosis
  • Encounter:account

Supported Reverse Includes:

  • Encounter:part-of
  • Condition:encounter
  • Composition:encounter
  • Procedure:encounter

Account

NameTypeLevel
_idtokenSHALL
identifiertokenSHALL
statustokenSHALL
typetokenSHALL
patientreferenceSHALL
_profileuriMAY

Condition

NameTypeLevel
_idtokenSHALL
clinical-statustokenSHALL
patientreferenceSHALL
subjectreferenceSHALL
encounterreferenceSHALL
recorded-datedateSHALL
relatedreferenceSHALL
_profileuriMAY
categorytokenMAY

Supported Includes:

  • Condition:patient
  • Condition:subject
  • Condition:encounter

Supported Reverse Includes:

  • Encounter:diagnosis

Procedure

NameTypeLevel
_idtokenSHALL
statustokenSHALL
categorytokenSHALL
codetokenSHALL
patientreferenceSHALL
subjectreferenceSHALL
encounterreferenceSHALL
datedateSHALL
_profileuriMAY

Supported Includes:

  • Procedure:patient
  • Procedure:subject
  • Procedure:encounter

Supported Reverse Includes:

  • Encounter:diagnosis

Coverage

NameTypeLevel
_idtokenSHALL
identifiertokenSHALL
statustokenSHALL
typetokenSHALL
beneficiaryreferenceSHALL
payorreferenceSHALL
subscriberreferenceMAY
_profileuriMAY

Supported Includes:

  • Coverage:subscriber
  • Coverage:patient
  • Coverage:payor
  • Coverage:beneficiary

RelatedPerson

NameTypeLevel
_idtokenSHALL
patientreferenceSHALL
namestringMAY
_profileuriMAY
addressstringMAY
address-citystringMAY
address-countrystringMAY
address-postalcodestringMAY

Supported Includes:

  • RelatedPerson:patient

Supported Reverse Includes:

  • Coverage:subscriber
  • Coverage:payor

Practitioner

NameTypeLevel
_idtokenSHALL
identifiertokenSHALL
familystringSHALL
givenstringSHALL
addressstringMAY
gendertokenMAY
_profileuriMAY
namestringMAY

ValueSet

NameTypeLevel
_idtokenSHALL
urluriSHALL
namestringSHALL
statustokenSHALL
versiontokenSHALL
context-type-valuecompositeSHALL

Composition

No search parameters are stated for this resource type

Bundle

No search parameters are stated for this resource type

Document Capabilities

ModeProfile
ConsumerISiKBerichtBundle

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte.html new file mode 100644 index 00000000..db33e0e5 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Abrechnungsfall.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Abrechnungsfall.html new file mode 100644 index 00000000..b0e230b2 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Abrechnungsfall.html @@ -0,0 +1,662 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +

Abrechnungsfall (Account)

+
+ + +
+

Motivation

+

Komplementär zum Datenobjekt "Kontakt - Encounter" können Fälle, im Sinne einer Gruppierung von medizinischen Leistungen, innerhalb eines gemeinsamen Kontextes, zu einem Abrechnungsfall zusammengefasst werden. +Ein solcher Abrechnungsfall kann mehrere Kontakte umfassen (z.B. vorstationärer Besuch, stationärer Aufenthalt und nachstationärer Besuch).

+

Gemeinsam mit dem Einrichtungskontakt bildet der Abrechnungsfall einen wichtigen Einstiegspunkt in die Dokumentation der Behandlungsleistungen der Patienten. +Als Bindeglied zwischen den Kontakten und dem Versicherungsverhältnis erfolgt eine feingranulare Auflistung, in welchen Zeiträumen ein Behandlungskontext zwischen einer Gesundheitseinrichtung und der Patienten bestand. +Zudem werden Diagnosen abschließend / nachträglich dokumentiert, sodass eine Übersicht von relevanten (DRG)-Diagnosen ermöglicht wird, ohne die Gesamtheit aller Kontakte betrachten zu müssen.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISiKAbrechnungsfall wurde bis zum Zeitpunkt der Veröffentlichung kein Abgleich der Kompatibilität zu anderen Profilen (der KBV und der Medizininformatik-Initiative) durchgeführt.

+
+ +
+
+

Profil

+ +
NameCanonical
ISiKAbrechnungsfallhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall
+

idS Σ0..1System.String
AbrechnungsDiagnoseProzedurS I0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
typeS Σ1..1CodeableConceptBinding
nameΣ0..1string
subjectS Σ I1..1Reference(Patient)
servicePeriodΣ I0..1Period
AbrechnungsartS I1..1Extension(Coding)
coverageS Σ I1..1Reference(Coverage)
priorityΣ0..1positiveInt
ownerΣ I0..1Reference(Organization)
descriptionΣ0..1string
partyI1..1Reference(Patient | RelatedPerson | Organization)
onHold0..1boolean
periodI0..1Period
partOfI0..1Reference(Account)

+

Weitere Hinweise zu den Abgrenzungen der Begrifflichkeiten Fall und Kontakt finden sie unter Deutsche Basisprofile - Abschnitt Ambulanter/stationärer Fall / Kontakt (Encounter).

+
+

Terminology Bindings

+ +
PathNameStrengthURL
Account.typeISiKAccountTyperequiredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKAccountType
+
+ +
+
+

Anmerkungen zu den Must-Support Feldern

+

Account.extension:Abrechnungsdiagnose

+

Bedeutung: DRG- und hiervon abweichende Krankenhausdiagnosen sollten im Account zusammenfassend und abschließend angegeben werden. Relevante Prozeduren können ebenfalls aufgelistet werden.

+

Account.identifier

+

Bedeutung: Der Account muss die Abrechnungsnummer des referenzierenden Kontaktes (Encounter) enthalten. Dies entspricht dem Wert des Elements Encounter.account.identifier.

+

Account.status

+

Bedeutung: Der Status MUSS insbesondere zur Differenzierung von abgeschlossenen und derzeitig noch aktiven Abrechnungsfällen angegeben werden. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "active", "inactive". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

+

Account.type

+

Bedeutung: Alle Accounts MÜSSEN eindeutig kategorisiert werden können, sodass eine Filterung pro Typ möglich ist.

+

Hinweise: Verpflichtende Kodierung per HL7 v3 Value Set ActEncounterCode als Äquivalent zu Encounter.class.

+

Account.subject

+

Bedeutung: Ein Patientenbezug des Falls MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Account.coverage

+

Bedeutung: Pro Abrechnungskontext (z.B. Selbstzahler, DRG, PEPP) sollte ein eigener Account angelegt werden. Für jeden Account sollte ersichtlich sein über welche Coverage der Account beglichen werden soll.

+
+ +
+
+

Interaktionen

+

Für die Ressource Account MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?identifier=http://test.krankenhaus.de/fhir/sid/fallnr|123456

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "type" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?type=http://terminology.hl7.org/CodeSystem/v3-ActCode|AMB

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  8. +
  9. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Account?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Account.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
    +
  10. +
+ +
+
+

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKAbrechnungsfall:

+

{
+    "resourceType": "Account",
+    "id": "AbrechnungsfallAmbulant",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall"
+        ]
+    },
+    "identifier":  [
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "AN",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "https://test.krankenhaus.de/fhir/sid/abrechnungsnummer",
+            "value": "0123456789"
+        }
+    ],
+    "status": "active",
+    "type": {
+        "coding":  [
+            {
+                "code": "AMB",
+                "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
+            }
+        ]
+    },
+    "subject":  [
+        {
+            "reference": "Patient/PatientinMusterfrau"
+        }
+    ],
+    "coverage":  [
+        {
+            "extension":  [
+                {
+                    "url": "http://fhir.de/StructureDefinition/ExtensionAbrechnungsart",
+                    "valueCoding": {
+                        "code": "DRG",
+                        "system": "http://fhir.de/CodeSystem/dkgev/Abrechnungsart",
+                        "display": "Diagnosebezogene Fallgruppen"
+                    }
+                }
+            ],
+            "coverage": {
+                "reference": "Coverage/CoverageGesetzlich"
+            }
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Angehoeriger.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Angehoeriger.html new file mode 100644 index 00000000..56ba4c8e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Angehoeriger.html @@ -0,0 +1,942 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

Angehöriger (RelatedPerson)

+
+ + +
+

Motivation

+

Der Angehörige wird vor allem im Zusammenhang mit Anwendungsszenarien verwendet, in denen das Versicherungsverhältnis eine Rolle spielt. Hier können Angehörige, bspw. der hauptversicherte Elternteil eines minderjährigen Kindes, in der Familienversicherung sein. In Selbstzahler-Szenarien können Angehörige die Zahler für eine im Krankenhaus erbrachte Leistung sein.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISiKAngehoeriger wurde bis zum Zeitpunkt der Veröffentlichung kein Abgleich der Kompatibilität zu anderen Profilen (der KBV und der Medizininformatik-Initiative) durchgeführt.

+
+ +
+
+

Profil

+ +
NameCanonical
ISiKAngehoerigerhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger
+

identifierΣ0..*Identifier
activeΣ ?!0..1boolean
referenceΣ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
relationshipΣ0..*CodeableConceptBinding
nameS Σ I1..1HumanName, deutsches Basisprofil
telecomΣ I0..*ContactPoint
Geschlecht-AdministrativI0..*Extension(Coding)
birthDateΣ0..1date
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
photoI0..*Attachment
periodI0..1Period
language1..1CodeableConceptBinding
preferred0..1boolean

+ + + +
keyseverityhumanexpression
relatedp-de-1errorFalls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werdengender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
+
+ +
+
+

Anmerkungen zu den Must-Support-Feldern

+

RelatedPerson.name

+

Bedeutung: Name der angehörigen Person

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.patient

+

Bedeutung: Referenz zum verwandten Patient

+

RelatedPerson.address.type

+

Bedeutung: Die Art der Adresse (physisch / postalisch)

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.line

+

Bedeutung: Enthält Straßenname, Hausnummer, Richtung, Postfach und ähnliche Adressinformationen

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.city

+

Bedeutung: Enthält Name der Stadt oder des Ortes

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.postalCode

+

Bedeutung: Postleitzahl für das Gebiet

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

RelatedPerson.address.country

+

Bedeutung: Land (kann z. B. ein ISO 3166-Code mit 2 oder 3 Buchstaben sein)

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+
+ +
+
+

Interaktionen

+

Für die Ressource RelatedPerson MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.patient" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  4. +
  5. Die Suche nach einem beliebigen Bestandteil des Namens KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?name=Heidi

    +

    GET [base]/RelatedPerson?name=Alpenzauber

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  6. +
  7. Der Suchparameter "address" KANN unterstützt werden:

    +

    Beispiele

    +

    GET [base]/RelatedPerson?address=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
      +
    1. Der Suchparameter "address-city" KANN unterstützt werden:
    2. +
    +

    Beispiele:

    +

    GET [base]/RelatedPerson?address-city=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address.city" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  8. +
  9. Der Suchparameter "address-country" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?address-country=DE

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address.country" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  10. +
  11. Der Suchparameter "address-postalcode" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/RelatedPerson?address-postalcode=10117

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "RelatedPerson.address.postalCode" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
    +
  12. +
+ +
+
+

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKAngehoeriger:

+

{
+    "resourceType": "RelatedPerson",
+    "id": "ISiKAngehoerigerMustermann",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger"
+        ]
+    },
+    "patient": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "name":  [
+        {
+            "family": "Mustermann",
+            "given":  [
+                "Maxine"
+            ]
+        }
+    ],
+    "address":  [
+        {
+            "type": "both",
+            "line":  [
+                "Milchstr. 42"
+            ],
+            "city": "Beispielstadt",
+            "postalCode": "78143",
+            "country": "DE"
+        }
+    ]
+}

+
+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_BerichtSubsystem.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_BerichtSubsystem.html new file mode 100644 index 00000000..552422b0 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_BerichtSubsystem.html @@ -0,0 +1,1474 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

Rückübermittlung Bericht aus Subsystemen (Composition)

+
+ + +
+

Motivation

+

In der heterogenen Systemlandschaft im Krankenhaus sind eine Vielzahl spezialisierter Subsysteme im Einsatz. Die Ergebnisse aus diesen Subsystemen sind aktuell jedoch häufig nicht in den Primärsystemen des Krankenhauses verfügbar, denn es bestehen folgende Herausforderungen:

+
    +
  1. Die Daten in Subsystemen sind sehr heterogen und können hochspezialisiert sein.
  2. +
  3. Bei der Nutzung dieser Subsysteme besteht häufig ein Interesse, auf die menschenlesbare Repräsentation der strukturierten Daten einwirken zu können.
  4. +
  5. Künftig ist mit Szenarien zu rechnen, bei denen Befunde aus Subsystemen in eine elektronische Patientenakte übertragen werden sollen.
  6. +
  7. Aktuell werden Befunde, obwohl diese in den Subsystemen in hochstrukturierter Form vorliegen, nur als PDF an das Primärsystem zurückübermittelt. Oft weil kein strukturiertes Format spezifiziert ist, das sowohl versendendes Subsystem als auch empfangendes Primärsystem implementiert haben.
  8. +
  9. Der Umfang, in dem eine Datenübernahme in ein Primärsystem möglich ist, variiert stark zwischen den Systemen oder Installationen, z.B. abhängig davon, ob ein Modul für Vitalparameter installiert ist.
  10. +
+

Die ISiK-Spezifikation begegnet diesen Herausforderungen, indem sie die Rückübermittlung von Ergebnissen aus Subsystemen an die Primärsysteme in Form von strukturierten Dokumenten erfordert, die über eine menschenlesbare Repräsentation verfügen. Diese strukturierten Dokumente werden im ISiK-Kontext als Berichte bezeichnet. Dabei sind die strukturierten Inhalte der Berichte harmonisiert mit den verbreiteten Formaten für Primärsysteme.

+

In der aktuellen Ausbaustufe von ISiK ist lediglich die Übernahme und Anzeige der Dokument-Metadaten (z.B. Dokumenttyp, Dokumentdatum, Quelle) und der menschenlesbaren HTML-Repräsentation in die Primärsysteme erforderlich.

+

In weiteren Ausbaustufen von ISiK soll darüber hinaus eine Übernahme der strukturierten Anteile der Dokumente möglich sein, die den ISiK-Spezifikationen entsprechen, z.B. Diagnosen und Prozeduren.

+

Es obliegt dabei dem Ermessen des Herstellers, ob die Übernahme strukturierter Daten in das Primärsystem automatisch erfolgt, oder durch den Benutzer initiiert wird.

+

Die Berichte werden, wie von der FHIR Spezifikation für die Composition Ressource vorgesehen, in einem FHIR-Bundle versendet.

+
+ +
+
+

Interaktionen

+

Die Rückübermittlung eines Document-Bundles an ein Primärsystem erfolgt mittels einer 'POST'-Interaktion auf den Endpunkt des Primärsystems.

+

Beispiele:

+

POST [base]/ mit einer FHIR-Bundle Ressource im Request-Body.

+

Anwendungshinweise: Weitere Informationen zu den verschiedenen Endpunkten für Dokumente finden sich in der FHIR-Basisspezifikation - Abschnitt "Document End-Points".

+

Das Bundle dient der Aggregation aller Ressourcen, die Bestandteil des Dokumentes sind. Dabei ist die erste Ressource im Bundle (Bundle.entry.resource) stets eine Composition, alle weiteren Entries enthalten zusätzliche Ressourcen, auf die die Composition verweist.

+

Falls die im Dokumenten-Bundle enthaltene Patient-Ressource und/oder Encounter-Ressource nicht anhand der Business-Identifier oder anderer Matching-Kriterien im empfangenden System gefunden werden kann (d.h. der Patient oder der Encounter existiert im empfangenden System noch nicht), MUSS als Antwort der HTTP Status Code "422 - Unprocessable Entity" zurückgegeben werden. Im Body der Response ist eine OperationOutcome zurückzugeben, welche ein Issue mit dem Verweis auf die nicht auflösbare Referenz enthält. Zur Kodierung von OperationOutcome.issue.code MUSS als Code "processing" verwendet werden.

+

Das Bundle muss folgendem Profil entsprechen: +

identifierS Σ1..1Identifier
typeS Σ1..1codeBindingFixed Value
timestampS Σ1..1instant
totalΣ I0..1unsignedInt
relationΣ1..1string
urlΣ1..1uri
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
fullUrlΣ0..1uri
resourceΣ I0..1ISiKBerichtSubSysteme
modeΣ0..1codeBinding
scoreΣ0..1decimal
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

+

Unterscheidungshinweis: Informationen zu Interaktionen mit Dokument-Binaries finden sich im Modul ISiK Dokumentenaustausch - Abgrenzung zu ISiK Stufe 2.

+

Verarbeitung des Dokumentes

+

Hinweis: Die nachfolgenden Regeln für die Verarbeitung eines Dokumentes gelten nur für Document-Bundles die an den oben genannten Endpunkt gesendet werden. Weitere ISiK-Module können Regeln für die Verarbeitung von anderen Bundle-Typen (z.B. 'transaction') aufstellen.

+

In der aktuellen Ausbaustufe von ISiK MUSS ein empfangenes Dokument in folgenden Schritten verarbeitet werden:

+
    +
  1. Extraktion der Patient-Ressource aus dem Bundle und Herstellung des Patientenbezuges anhand eines eindeutigen Identifiers ('Patient.identifier') oder ähnlich identifizieren Merkmalen
  2. +
  3. Extraktion der Encounter.Ressource aus dem Bundle und Herstellung des Fallbezuges anhand der Abrechnungsfallnummer ('Encounter.account.identifier') oder ähnlich identifizieren Merkmalen
  4. +
  5. Extraktion der Composition-Ressource aus dem Bundle und Auslesen der mit 'mustSupport' gekennzeichneten Meta-Daten, sowie der menschenlesbaren Repräsentation des Dokumentes ('Composition.text', 'Composition.section.text', 'Composition.section.section.text')
  6. +
  7. Hinzufügen des Dokumentes und seiner Metadaten zur Fallakte des Patienten.
  8. +
  9. Visualisierung des Dokumentes und seiner Metadaten in der Fallakte des Patienten
  10. +
+Composition Bundle +

Die Grafik zeigt an einem vereinfachten Beispiel die Zuordnung des HTML-Dokumentes zu Patient und Kontakt in der aktuellen Ausbaustufe von ISiK (schwarze Pfeile). Die grauen Pfeile deuten die Übernahme strukturierter Daten, wie sie in weiteren Ausbaustufen erforderlich wird.

+

Hinweise zum Umgang mit der menschenlesbaren Repräsentation

+

Die menschenlesbare Repräsentation ("Narrative") eines Dokumentes setzt sich zusammen aus dem Inhalt von 'Composition.text', einer Repräsentation der Metadaten (z.B. Dokumenttyp, Patientenname, Patientennummer, Aufnahmenummer, Datum) sowie der Aggregation der Inhalte von 'Composition.section', wobei zu beachten ist, dass ein Dokument beliebig viele Sections haben kann. +Die einzelnen Bestandteile des Narratives KÖNNEN mit <div>-Elementen zusammengefügt werden.

+

Extraktion der Patient-/ und Encounter-Ressource im Document-Bundle

+

Folgende Fälle sind zu beachten um eine Patient-/ und Encounter-Ressource aus dem Document-Bundle zu extrahieren:

+
    +
  • Die aufzulösende Referenz ist eine URN (immer absolut, z. B. "urn:uuid:9d1714da-b7e6-455b-bfd2-69ce0ff5fb12"):

    +
      +
    • Suche nach einem Bundle-Entry mit einer fullUrl, die mit dem reference.value übereinstimmt
    • +
    • Wenn einer gefunden wird, ist die Auflösung erfolgreich (und endet hier)
    • +
    • Andernfalls schlägt die Auflösung fehl (und endet hier). Die Referenz hat in dieser Spezifikation keine definierte Bedeutung.
    • +
    +
  • +
  • Wenn die Referenz eine absolute URL ist (z. B. "https://fhir.example.org/base/Patient/123", "https://fhir.example.org/base/Patient/123/_history/a"):

    +
      +
    • Suche nach einem Bundle-Entry mit einer fullUrl, die mit dem reference.value übereinstimmt
    • +
    • Wenn einer gefunden wird, ist die Auflösung hier erfolgreich (und endet)
    • +
    • Wird mehr als ein Eintrag gefunden, KANN der Server nach der neuesten Version suchen (basierend auf meta.lastUpdated). Wenn jener auf diese Weise genau eine aktuelle Version findet, ist die Auflösung erfolgreich (und endet hier)
    • +
    +
  • +
  • Wenn die Referenz die Form "[Typ]/[id]" hat (z. B. "Patient/123")

    +
      +
    • Wenn der Bundle-Entry, der den Verweis enthält, eine FullUrl hat, die dem RESTful-URL-Regex entspricht (z. B. "https://fhir.example.org/Observation/456"): +
        +
      • Extrahiert wird die [root] aus der fullUrl des Bundle-Entries und mit der relative Referenz zusammenangefügt (z. B. "https://fhir.example.org/" + "Patient/123" --> "https://fhir.example.org/Patient/123")
      • +
      • Gefolgt wird den Schritten für die Auflösung absoluter Referenzen. Siehe oben.
      • +
      +
    • +
    +
  • +
+

Persistierung der menschenlesbaren Repräsentation

+

Das Narrative der Ressource KANN innerhalb einer DocumentReference-Ressource persistiert werden. Zum derzeitigen Zeitpunkt obliegt es der jeweiligen Implementierung wie diese DocumentReference Ressource ausgestaltet ist. +Ein Mapping der Composition-Metadaten auf DocumentReference-Metadaten KANN der FHIR Kernspezifikation entnommen werden. Siehe Abschnitt "2.42.8.7 FHIR Composition".

+

Das Narrative MUSS als Binary-Ressource unter DocumentReference.content.attachment.url angegeben werden.

+

Hinweis: Es ist zu beachten, dass in einem Attachment-Datentyp im Element "url" eine absolute URL anzugeben ist. Somit muss zunächst das Binary auf dem externen System per POST angelegt werden. Der hieraus resultierende Link kann anschließend im Attachment verwendet werden.

+

Falls ein Bundle erneut mit dem gleichen Bundle.identifier übermittelt wird, MUSS eine neue DocumentReference erstellt werden, welche unter DocumentReference.relatesTo.target angegeben wird.

+

Hinweise zum Umgang mit strukturierten Daten

+

Auch wenn in der aktuellen Stufe nur die Übernahme der menschenlesbaren Repräsentation erforderlich ist, empfiehlt es sich dennoch, das vollständige Bundle samt der strukturierten Anteile zu einem Dokument zu persistieren, sodass zu einem späteren Zeitpunkt, wenn eine Übernahme einzelner Daten möglich ist, diese auch rückwirkend erfolgen kann.

+
+ +
+
+

Profil

+ +
NameCanonical
ISiKBerichtSubSystemehttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme
+

idS Σ0..1System.String
statusS1..1codeBindingFixed Value
divS I1..1xhtml
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingFixed Value
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
dateS Σ1..1dateTime
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ1..1string
titleS Σ1..1string
confidentialityΣ0..1codeBinding
mode1..1codeBinding
time0..1dateTime
partyI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
custodianΣ I0..1Reference(Organization)
code1..1codeBinding
targetIdentifierIdentifier
targetReferenceReference(Composition)
codeΣ0..*CodeableConcept
periodΣ I0..1Period
detailΣ I0..*Reference(Resource)
titleS1..1string
code0..1CodeableConcept
authorI0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)
focusI0..1Reference(Resource)
textS I1..1Narrative
mode0..1codeBinding
orderedBy0..1CodeableConceptBinding
entryI0..*Reference(Resource)
emptyReasonI0..1CodeableConceptBinding
sectionS I0..*see (section)

+
+ +
+
+

Anmerkungen zu den Must-Support-Feldern

+

Composition.id

+

Bedeutung: Subsystem-interne Datensatz-ID

+

Composition.profile

+

Bedeutung: Erklärung zur Konformität zum ISiK-Profil

+

Composition.text

+

Bedeutung: menschenlesbare Repräsentation des Dokumentenkopfes (Metadaten)

+

Hinweise: Die Mindestanforderungen an den Inhalt der menschenlesbaren Repräsentation umfasst folgende Informationen:

+
    +
  • Composition.subject:Patient.name.family
  • +
  • Composition.subject:Patient.birthDate
  • +
  • Composition.subject:Patient.identifier:pid
  • +
  • Composition.status
  • +
  • Composition.type.text
  • +
  • Composition.date
  • +
  • Composition.title
  • +
  • Composition.author.display
  • +
+

Composition.identifier

+

Bedeutung: Subsystem-seitig zugewiesener Identifier des Berichtes mit Angabe der URL des vom Subsystem verwendeten Namensraumes

+

Hinweise: Werden eigene Identifier bzw. NamingSystems verwendet, so sei auf den Leitfaden der Basisprofile Deutschland (HL7 Deutschland) zu den Best-Practices bei Namensräumen verwiesen.

+

Dazu ein Beispiel für einen Identifier eines Sub-System-Berichts:

+
+<identifier>
+    <system value="https://fhir.krankenhaus.example/sid/system-a/berichtnummer" />
+    <value value="0123456789" />
+</identifier>
+
+
+
+

Die Verwendung von OIDs ist möglich, wird jedoch nicht empfohlen. Für die Verwendnung von OIDs KANN folgendes Format verwendet werden:

+
    +
  • Das Feld system enthält den festen Wert "urn:ietf:rfc:3986"
  • +
  • Das Feld value enthält die OID mit dem Präfix "urn:oid:"
  • +
+

Beispiel:

+
+<identifier>
+    <system value="urn:ietf:rfc:3986"/>
+    <value value="urn:oid:2.16.840.1.113883.6.96"/>
+</identifier>
+
+
+
+

Composition.status

+

Bedeutung: Status des Dokumentes

+

Composition.type

+

Bedeutung: Dokumenttyp

+

Hinweise: In der aktuellen Ausbaustufe von ISiK ist textuelle Repräsentation des Dokumenttyps (type.text) ausreichend. Die darüber hinausgehende Codierung des Dokumenttyps (z.B. mit LOINC, IHE-Typecodes oder KDL) in type.coding KANN implementiert werden

+

Composition.subject

+

Bedeutung: Patientenbezug des Dokumentes

+

Composition.encounter

+

Bedeutung: Fallbezug des Dokumentes

+

Composition.date

+

Bedeutung: Datum der letzten Änderung am Dokument

+

Composition.author.display

+

Bedeutung: Autor des Dokumentes (Person, Subsystem)

+

Hinweise: In der aktuellen Ausbaustufe von ISiK ist die Verwendung der textuellen Repräsentation (display) von Autor und Subsystem ausreichend. Die darüber hinaus gehende Verlinkung auf Practitioner bzw. Device-Ressourcen KANN implementiert werden.

+

Composition.title

+

Bedeutung: Dokumentenbezeichnung

+

Hinweise: Die Dokumentenbezeichnung dient der Darstellung des Dokumentes in einer Übersicht, z.B. in einer Patientenakte, und KANN der schnellen Auffindbarkeit eines gesuchten Dokumentes dienen. Geeignete Bezeichnungen sind zum Beispiel

+
    +
  • "Kleines Blutbild vom 13.10.2020"
  • +
  • "Pathologiebefund (Abstrich) vom 13.10.2020"
  • +
  • "Blutgasmessung vom 13.10.2020 14:14h"
  • +
+

Composition.section.title

+

Bedeutung: Kapitelüberschrift

+

Composition.section.text

+

Bedeutung: menschenlesbare Repräsentation des Inhalts eines Kapitels

+

Hinweise: Für Aggregation einer vollständigen menschenlesbaren Repräsentation MÜSSEN die Repräsentationen der einzelnen Kapitel an die Repräsentation der Metadaten (Composition.text) angehängt werden. Für die Separierung KÖNNEN einfache <div>-Tags verwendet werden. +Es ist zu beachten, dass Kapitel auch Unterkapitel enthalten KÖNNEN (Composition.section.section), die bei der Aggregation entsprechend berücksichtigt werden MÜSSEN.

+

Die Mindestanforderungen an den Inhalt der menschenlesbaren Repräsentation umfasst folgende Informationen:

+
    +
  • section.title + Freitext oder
  • +
  • section.title + Resource.text der referenzierten Ressource oder
  • +
  • section.title + eine aggregierte Repräsentation von Resource.text wenn in einer Section mehrere Ressourcen referenziert werden.
  • +
+
+ +
+
+

Beispiele

+

{
+    "resourceType": "Composition",
+    "id": "composition-blutdruck",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme"
+        ]
+    },
+    "status": "final",
+    "text": {
+        "status": "extensions",
+        --- We have skipped the narrative for better readability of the resource ---
+    },
+    "identifier": {
+        "type": {
+            "coding":  [
+                {
+                    "code": "FILL",
+                    "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                }
+            ]
+        },
+        "system": "https://fhir.krankenhaus.example/sid/system-a/berichtnummer",
+        "value": "0123456789"
+    },
+    "type": {
+        "coding":  [
+            {
+                "code": "55112-7",
+                "system": "http://loinc.org"
+            }
+        ]
+    },
+    "subject": {
+        "reference": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345"
+    },
+    "encounter": {
+        "reference": "urn:uuid:74b46c1a-6fc9-11ed-a1eb-0242ac198765"
+    },
+    "date": "2022-05-03",
+    "author":  [
+        {
+            "type": "Device",
+            "display": "Gerät XY, Fa. Z, Modell T"
+        }
+    ],
+    "title": "Blutdruckmessung vom 3.5.2022",
+    "section":  [
+        {
+            "title": "Messung",
+            "text": {
+                "status": "generated",
+                "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table><tr><td><b>Systolisch</b></td><td><b>Diastolisch</b></td><td><b>Einheit</b></td><td><b>Uhrzeit</b></td></tr><tr><td>140</td><td>110</td><td>mmHG</td><td>17:15h</td></tr></table></div>"
+            }
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Binary.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Binary.html new file mode 100644 index 00000000..26ab6c31 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Binary.html @@ -0,0 +1,382 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

Binary (Binary)

+
+ + +
+

Motivation

+

Die Binary-Ressource erlaubt den Umgang mit FHIR-fremden Formaten (z.B. PDFs, Bilder, CDA) innerhalb des FHIR-Frameworks. +Dazu werden die Daten base64-codiert in der Binary-Ressource (in XML oder JSON) transportiert oder +über die REST-API am Binary-Endpunkt in ihrem nativen Format bereitgestellt. +Binary-Ressourcen werden von Attachment-Elementen verlinkt und damit in den Kontext anderer FHIR-Ressourcen +(z.B. Patient und Encounter) gestellt.

+

Das ISIK-Binary-Profil ist nicht Bestandteil der Implementierung des ISIK Basismoduls. +Das Profil ist Teil des ISIK Basismoduls, da es als übergreifend genutzte Ressource sowohl im Modul Terminplanung als auch im Modul Dokumentenaustausch implementiert werden muss.

+
+ +
+
+ +
+
+

Profil

+ +
NameCanonical
ISiKBinaryhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBinary
+

contentTypeS Σ1..1codeBinding
securityContextΣ I0..1Reference(Resource)
dataS1..1base64Binary

+
+ +
+
+

Anmerkungen zu den Must-Support Feldern

+

Binary.contentType

+

Bedeutung: MimeType der Binärdaten

+

Binary.data

+

Bedeutung: Base64-codierte Binärdaten

+
+ +
+
+

Interaktionen

+

Für die Ressource Binary MUSS die REST-Interaktion "READ" implementiert werden. Es MÜSSEN die Regeln aus der FHIR-Kernspezifikation zur Abfrage einer Binary Ressource beachtet werden. Siehe "Serving Binary Resources using the RESTful API".

+
+ +
+
+

Beispiele

+

{
+    "resourceType": "Binary",
+    "id": "Binary-JPEG-Example",
+    "contentType": "image/jpeg",
+    "data": "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"
+}

+

{
+    "resourceType": "Binary",
+    "id": "Binary-PDF-Example",
+    "contentType": "application/pdf",
+    "securityContext": {
+        "reference": "Patient/example"
+    },
+    "data": "JVBERi0xLjUNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDEzMDA2OC9PIDEyL0Ug MTI1NzM1L04gMS9UIDEyOTc2NC9IIFsgNTQ2IDIwNF0+Pg1lbmRvYmoNICAgICAgICAgICAgICAg DQo0MSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0 ZXIvRmxhdGVEZWNvZGUvSURbPDRDRDkwQkY3MkI2NjU5NkVCMEJDQzlBN0ZGNzIwMjE3PjwyOTkw ODAzRkY2QTc0OTQ4OEEwNTdBREQzRDdFQTM0Nj5dL0luZGV4WzEwIDU4XS9JbmZvIDkgMCBSL0xl bmd0aCAxMzcvUHJldiAxMjk3NjUvUm9vdCAxMSAwIFIvU2l6ZSA2OC9UeXBlL1hSZWYvV1sxIDMg MV0+PnN0cmVhbQ0KaN5iYmRgEGBgYmBgugciGf1AJMNmEMn2H0RyxIJI9slg9k4wuQNMHgCLZ4DJ NLBIJIjkagGbA2abeIDZmiAyvhFsMkic0fApWFwDRPoWgNmhIFIzHMyWBZFWWWD1YSCS/yhYXAFs yxUQyXoQSP6XmsbABHT/TLBKBsZBRAKDTvQFQIABAIHlFZoNCmVuZHN0cmVhbQ1lbmRvYmoNc3Rh cnR4cmVmDQowDQolJUVPRg0KICAgICAgICAgICAgIA0KNjcgMCBvYmoNPDwvRmlsdGVyL0ZsYXRl RGVjb2RlL0kgMTM3L0wgMTIxL0xlbmd0aCAxMTcvUyAzOD4+c3RyZWFtDQpo3mJgYJBlYGAqYGBg YHz+mgEVMAIxCwNHA7KYLBQzMIQy8DPsEVth4VD84E3jjcNb24X5lGQEAisY3OoSTPXFGFgSFZj9 Mm4wsCo4GMl0NTDKPGDWsf4RdqCuAW4846toqDVtYKsYf/JD+IxcAAEGAMGGGRoNCmVuZHN0cmVh bQ1lbmRvYmoNMTEgMCBvYmoNPDwvTWV0YWRhdGEgMiAwIFIvUGFnZUxhYmVscyA2IDAgUi9QYWdl cyA4IDAgUi9UeXBlL0NhdGFsb2c+Pg1lbmRvYmoNMTIgMCBvYmoNPDwvQ29udGVudHNbMTQgMCBS IDE1IDAgUiAxNiAwIFIgMTcgMCBSIDE4IDAgUiAxOSAwIFIgMjAgMCBSIDIxIDAgUl0vQ3JvcEJv eFswIDAgNjEyIDc5Ml0vTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1BhcmVudCA4IDAgUi9SZXNvdXJj ZXMgNDIgMCBSL1JvdGF0ZSAwL1R5cGUvUGFnZT4+DWVuZG9iag0xMyAwIG9iag08PC9GaWx0ZXIv RmxhdGVEZWNvZGUvRmlyc3QgMTkxL0xlbmd0aCAxNDM3L04gMjUvVHlwZS9PYmpTdG0+PnN0cmVh bQ0KaN7EWFtv4jgU/it+bDVi47sdaVSJQi9I04sKux0J8ZBChmY3EBRSqf33e44NNIRQLrPbCoU4 9rHPxZ8/H1tyQokUhAtFpCRcCSIVEQxemihliTTEKE6kJVaDSEgYNZYoSpgSjChGmNGCgAQXVBHo zpWCnjCUUfCtCLcG2jWMyUDeEKEYJzCwMDCeCokIoVGDEdRIohkYw+ANGjWMB0NLKzjRElRyRrAL A1M1qBCSk+/fg1aWZnl3Fg1j/Jhr9IaSh7Oz4OK1uOoWUYENV12G/vmGy2xaQF2vx9A9qMMiQ+d8 maNfvijQFV+U6IUvOsN9UaPNvmjQTF8M0UKv7D7Pht246Af37cugF78WQWcSjePWIPh59/R3PERL OhNGhHV9OxMOIVkUwXvqhzk76wedVus8mscjwnHSHgbQ8e6e/IrSeQyFG8KCbnPx2b0h9A/Kg97b LH6PQ5DNfPvZGfRtzofxtIDZpUGr0wYTYQqd3lY0u46T8XMBc01p0I69YIOD5GUajedEuhCen2ev /YaigjQENYRxMDbUcuAaL6NJkr6dtKI0ecqTU1+XpDEAxQcJK26jSRz8uG3e3La+LSRdfbfI42L4 HNxm+SRKXdWjt0iCQZ0CRIfN6TiNCQ26RTz5i1jqfUVRNDhPZkWWBz9LjjinMYAoU9WKEXibw1Cd 6a8MA5uP4jyZjk86I/A9Kd5Og4d4nMyL/O2kOcqe4tOg+zKbpfEEQwNj4wi97KrTvolmwbJT0H70 MVw3C5cYhqD78lSg0dAVBdAB/u5G8NgXfc71wFreF1QPBh964KdpFEGYoXXelw6Ag+BiOsxG4MnK qMb1SjHqgsBlf04TEIph7Xr8Lk0o44SBI1uhIWi4gIbgJWywUC6woa2FLlasgaOZJ1F6+o4E9904 T6PhPztgEG6BAaeH4qCscxWqx2TanM6T1fdlks+L1nOUL90rz6Vftz+ihQQz8j2++UvcWwZ6ManJ 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 N2pszN84vslj09HNhM2Jm3/IM8krzXu9JWxLV75y/qb8sa0eW5sLJAr4BcPbbLfVbEdt527v32G+ Y/+OT4XswmtFJkXlRR+KWcXXvjL9quKrhZ2xO/tLLEsO7sLs4u0a2u2w+2ipdGlO6dge3z3tZfSy wrLXe6P2Xi1fVl6zj7BPuG+kwqeic7/m/l37P1TGV96pcq5qrVaq3lE9d4B9YPCg48GWGuWaopr3 h7iH7tZ61LbXadeVH8Yczjj8tD60vvdrxteNDQoNRQ0fj/COjBwNPNrTaNXY2KTUVNIMNwubp45F Hrv5jes3nS2GLbWttNai4+C48Pizb6O/HTrhfaL7JONky3da31W3UdoK26H27PaZjviOkc7wzoFT K051d9l2tX1v9P2R02qnq87Inik5Szibf3bhXM652fOp56cvxF0Y647qfnBx1cXbPQE9/Ze8L125 7H75Yq9T77krdldOX7W5euoa41rHdcvr7X0WfW0/WPzQ1m/Z337D6kbnTeubXQPLB84OOgxeuOV6 6/Jtr9vX76y8MzAUMnR3OHJ45C777uS9pHsv72fcn3+w6SH6YeEjqUflj5Ue1/2o92PriOXImVHX 0b4nQU8ejLHGnv+U/tOH8fyn5KflE6oTjZNmk6en3KduPlv9bPx56vP56YKfpX+ufqH74rtfHH/p m1k1M/6S/3Lh1+JX8q+OvF72unvWf/bxm+Q383OFb+XfHn3HeNf7Puz9xHzmB+yHio96H7s+eX96 uJC8sPCbAAMA94Tz+w0KZW5kc3RyZWFtDWVuZG9iag0yMyAwIG9iag08PC9GaWx0ZXIvRmxhdGVE ZWNvZGUvTGVuZ3RoIDIwPj5zdHJlYW0NCmjemsBAT6DAMAoGAAAEGABBpACxDQplbmRzdHJlYW0N ZW5kb2JqDTI0IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTMyOTgvTGVuZ3Ro MSA0NTU4ND4+c3RyZWFtDQpo3rRbB3xVRfY+t70XQot0CMILj9AVREQEhBCSUEJJCCUJLYWE0Is0 QTECIgSwYFBREaKuBQFfYotrQxcVxcK6Yll37QUVFAvuAsm7/2/KeXl5FNnf7j/w5XxzptyZuXNn zpmZkEFEdamYLOoxOqN7zxP/fOoDaJ4DcvKXLPIF7t73LpHRmshpXTh/+pzffx9Zj8jTh6hOq+mz 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 x6Quk2gmdZhEMfEy8TBxmNhMLCYmE4MJaWK4TIJMqplUMTnF5CSTE0z+zeRfTH5ncpzJb0x+ZfIL k5+ZHGPyE5MfmRxlcoTJD0y+Z/Idk8NMvmXyDZOvmXzF5EsmXzD5nMlnTD5l8gmTfzL5B5OPmfyd yUdMPmTyAZP3mRxi8h6TvzF5l8lfmRxk8g6Tt5m8xeRNJgeYvMHkdSb7mbzG5FUmrzDZx+QvTF5m 8hKTvUxeZPICk+eZPMfkWSZ/ZvIMk0omTzN5ismTTJ5g8jiTCiblTAJMHmOyh8luJruYPMpkJ5NH mDzM5CEmDzL5E5MHmNzP5D4mZUx2MNnO5F4m25jcw+RuJncx2crkTiZ3MLmdyRYmpUxuY7KZya1M bmFyM5ObmGxispHJBiYlTNYzWcfkRiZrmdzAhM0eg80eg80eg80eg80eg80eg80eg80eg80eg80e g80eg80eg80eg80eg80eg80eg80eg80eYyETtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8M tn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8M tn8Mtn8Mtn8MNnsMNnsMNnsMtnYMtnYMtnYMtnYMtnYMtnYMtnYMtnYMtnaMwY8LAqu5os2AtrCZ K9o0hVilQtdXtOkLUaxC1ymxsqJNPYhrVegaJVYosVyJqysuHASxrOLCwRBLlViixGIVt0iFrlJi oVIuqLgwEWK+EvOUmKuSzFFithKzKlonQ8xUYoYSRUpMV6KwonUSRIEKTVMiX4k8JXKVyFFiqhJT VL7JKjRJiYlKZCuRpUSmEhOUGK/EOCXGKpGhxBgl0pVIU2K0EqOUGKnECCVSlRheETsMYpgSQyti h0MMUSKlIjYVIrkidgREkhKDlUhUcYNUvgQlBqp8A5S4Uon+KmU/Jfqq7Fco0UeJy5XorcRlqrBe SlyqSumpxCVK9FCFdVfiYpXvIiW6KdFViS5KdFaikxIdVdEdlIhXZbZXwq9EO1V0nBI+la+tEm2U uFCJ1krEKtGqotUoiJZKtKhoNRqiuRLNlLKpEk2UsrESjZS4QMXFKNFQKRsoUV+JeiqurhLRStRR cVFKeJXwVLRMg3AqWqZD2EpYSmmqkKEESWG4SgRlEqNahaqUOKXESRV3QoX+rcS/lPhdieMVLcZC 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 mgo5X0gTIY2FNBLSUEgDIecJSRBSX0g9IXWF1BFSW0i8kFpC4oT4hfiEOEJsIZYQU4ghhDxiuELC QqqEVAo5KeSEkF+F/FvIv4T8IuRnIT8J+VHID0KOCzkm5Hsh3wk5KuSIkH8K+VbIN0IOC/layFdC vhTyhZDPhXwm5FMhnwj5WMhHQv4h5O9CPhTyNyEfCHlfyHtC3hVySMhfhfxFyDtC/izkoJC3hbwl 5E9C3hRyQMgbQl4Xsl/Ia0JeFfKKkH1C/ijkZSEvCdkr5EUhLwh5XshzQp4V8gchzwjZI+RpIU8J eVLIE0IeF1IhpFxISMhjQh4VslvILiGPCNkp5GEhDwl5UMgDQn4v5H4h9wm5V8gOIduFbBNyj5Ct Qu4WcpeQO4VsEXKHkNuF3CZks5BNQm4VslHILUJuFvI7ITcJ2SBkvZB1QsqErBWyRsiNQlYLuUGI mD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD3GAiFi /xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi /xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi9hhi9hhi9hhi7Rhi7Rhi7Rhi 7Rhi7Rhi7Rhi7Rhi7Rhi7RgDHmcCq7miZd9WsJkrWjaGWKFD11e07AVRqkPXaXFtRcs6ENfo0NVa LNdimRZXVVzQH2JpxQUDIJZosViLRTpuoQ5dqcUCrZxfcUEqxDwt5moxRyeZrcUsLWZWtEiHmKHF dC1KtJimRXFFizSIIh2aqkWhFgVa5GuRp8UULSbrfJN0aKIWE7QYr0WuFjlajNNirBZjtBitRbYW o7TI0iJTi5FajNBiuBbDtMjQYmhF4hCIIVoMrkgcCjFIi4EViRkQ6RWJwyDStBigRaqO66/zpWjR T+frq8UVWvTRKXtr0Utnv1yLnlpcpkUPLS7VhXXX4hJdSjctLtaiqy6sixYX6XwXatFZi05adNSi gxbttWini26rRbIus40WQS1a66KTtAjofK20aKnFBVq00CJRi+YVzUdANNOiaUXzkRDna9FEKxtr 0UgrG2rRQIvzdFyCFvW1sp4WdbWoo+NqaxGvRS0dF6eFXwtfRbNMCKeiWRaErYWllaYOGVqQEoar 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 YJxq3BjiQZK0UkiARSo5JRyDIPmB4vq//9kNCmVuZHN0cmVhbQ1lbmRvYmoNMzkgMCBvYmoNPDwv Qml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3BhY2UgNDMgMCBSL0ZpbHRlci9EQ1REZWNvZGUvSGVp Z2h0IDQxL0xlbmd0aCAxMzIxL1N1YnR5cGUvSW1hZ2UvVHlwZS9YT2JqZWN0L1dpZHRoIDcxPj5z dHJlYW0NCv/Y/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMT GBcSFBQUFBIXFxscHhwbFyQkJyckJDUzMzM1Ozs7Ozs7Ozs7OwENCwsNDg0QDg4QFA4PDhQUEBER EBQdFBQVFBQdJRoXFxcXGiUgIx4eHiMgKCglJSgoMjIwMjI7Ozs7Ozs7Ozs7/8AAEQgAKQBHAwEi AAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A 9VVfPtNOFfaDtLK3EO8CBonysujEr9S520Ew0dyT2AXIfWLrd3VrD0fCOylvuzrgdA39yVFmzQxQ lOZoANnlOVnmyR0qANymdgBu9B9WOpO6n0ejJeZfGx5PdzeStZcV9TOp14dTMSwFtGVdY3Gd2lnb 5rtUcM+LHEncgWnn8PtcxkAFQMiYeV/sUkkkpGqpJJJJSkkkklPFdVys3Itys8c1u+y4FPYOOjrf iEI9M+xYTOn4v6TLyfpP7lzvpPd8FsZGAWX0lwhtVxcf7XCk/Hsa622v+evd6VZ/dZ4hc5zWaWfJ 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 dHJlYW0NZW5kb2JqDTIgMCBvYmoNPDwvTGVuZ3RoIDM0MTIvU3VidHlwZS9YTUwvVHlwZS9NZXRh ZGF0YT4+c3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pO VGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJB ZG9iZSBYTVAgQ29yZSA1LjQtYzAwNSA3OC4xNDczMjYsIDIwMTIvMDgvMjMtMTM6MDM6MDMgICAg ICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y Mi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg ICAgICAgICAgIHhtbG5zOnBkZj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyIKICAgICAg ICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAg ICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAg IHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KICAgICAgICAg PHBkZjpQcm9kdWNlcj5BY3JvYmF0IERpc3RpbGxlciAxMS4wIChXaW5kb3dzKTwvcGRmOlByb2R1 Y2VyPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBTY3JpcHQ1LmRsbCBWZXJzaW9uIDUuMi4y PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE0LTA1LTEzVDEw OjQ1OjUyLTA1OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIw MTQtMDUtMTNUMTA6NDU6NTItMDU6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8ZGM6Zm9y bWF0PmFwcGxpY2F0aW9uL3BkZjwvZGM6Zm9ybWF0PgogICAgICAgICA8ZGM6dGl0bGU+CiAgICAg ICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1 bHQiPk1pY3Jvc29mdCBXb3JkIC0gRkhJUi1Dc3VpdGUuZG9jeDwvcmRmOmxpPgogICAgICAgICAg ICA8L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6dGl0bGU+CiAgICAgICAgIDxkYzpjcmVhdG9yPgog ICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT5Xb29keTwvcmRmOmxp PgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvZGM6Y3JlYXRvcj4KICAgICAgICAg PHhtcE1NOkRvY3VtZW50SUQ+dXVpZDpkNWNkNTNiZS00YWJlLTQ3YTMtOWJkNy02ODZmOGE3NDc4 NGI8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnV1aWQ6ZGQ1 MjEwM2ItMTU4NC00MjgwLTg4ZjItNmYyZjUzMjNkYjU3PC94bXBNTTpJbnN0YW5jZUlEPgogICAg ICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5k PSJ3Ij8+DQplbmRzdHJlYW0NZW5kb2JqDTMgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0Zp cnN0IDQvTGVuZ3RoIDQ5L04gMS9UeXBlL09ialN0bT4+c3RyZWFtDQpo3rJQMFCwsdF3zi/NK1Ew 1PfOTCmONjQCCgbF6odUFqTqBySmpxbb2QEEGADf+gutDQplbmRzdHJlYW0NZW5kb2JqDTQgMCBv YmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDQvTGVuZ3RoIDE3My9OIDEvVHlwZS9PYmpT dG0+PnN0cmVhbQ0KaN58zLEKwjAQgOFXuc1kaJrUZlBEEIvoUCgqdulSm4iB4Mnlivr2dnB2/79/ ARpWq3wz8h1JtIjuI/Mt+Z4DPqqevaiWhTaltmZudGltkWk703r2qybUnAYKT7bKxQgXT2mSYFWh CpnX6P5PGkI3Dp7EZiC89gxVSBxi9ATGKA2daMPD4St1UubnwNGLOkxpwhtDi+Qgg93+cMy2aQzs lcPhLdfrrwADAKY3QQENCmVuZHN0cmVhbQ1lbmRvYmoNNSAwIG9iag08PC9EZWNvZGVQYXJtczw8 L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvSURbPDRDRDkwQkY3 MkI2NjU5NkVCMEJDQzlBN0ZGNzIwMjE3PjwyOTkwODAzRkY2QTc0OTQ4OEEwNTdBREQzRDdFQTM0 Nj5dL0luZm8gOSAwIFIvTGVuZ3RoIDUwL1Jvb3QgMTEgMCBSL1NpemUgMTAvVHlwZS9YUmVmL1db MSAzIDFdPj5zdHJlYW0NCmjeYmIAASZGxtfqDExAVhuI5FsIZveCSEYuoOx/NhmwCAMjiGT6DyIZ GQACDACdPgUbDQplbmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0KMTE2DQolJUVPRg0K"
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_CodeSystem.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_CodeSystem.html new file mode 100644 index 00000000..ae9f9830 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_CodeSystem.html @@ -0,0 +1,709 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

Katalog (CodeSystem)

+
+ + +
+

Motivation

+

Katalog

+

ISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus-/Systeminterne Kodierungen. Das Profil ISiKKatalog (CodeSystem) als Profil erlaubt die Repräsentation der dazugehörigen Codes und Displaywerte.

+

Eine maschinenlesbare Repräsentation dieser Kodierungen erlaubt es Clients dazugehörige Anzeigetext und Definitionen zu verarbeiten.

+

Ein Codesystem eignet sich auch dazu, auf dessen Basis definierte ValueSets zu expandieren. +Da ISiKValueSet expandierte Valuesets vorsieht, ist eine dynamische Expansion in der Regel nicht erforderlich. +Darüber hinausgehend ist ein Use Case im Kontext der Katalogabfrage folgender: Ein Client möchte eine Expansion neu generieren (z.B. mit anderen Expansionen-Parametern), um das ValueSet beispielsweise in einer anderen Sprache auszugeben.

+

Normativer Status und Bestätigung

+

Dieses Profil MUSS im Rahmen der Bestätigung NICHT unterstützt werden. Falls das Profil unterstützt werden soll, MÜSSEN die hier definierten Festlegungen greifen (auch im Bestätigungsverfahren).

+
+ +
+
+

FHIR-Profil

+ +
NameCanonical
ISiKCodeSystemhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem
+
idS Σ1..1System.String
urlS Σ1..1uri
identifierΣ0..*Identifier
versionS Σ1..1string
nameS Σ I1..1string
titleΣ0..1string
statusS Σ ?!1..1codeBinding
experimentalΣ0..1boolean
dateΣ0..1dateTime
publisherΣ0..1string
contactΣ0..*ContactDetail
description0..1markdown
useContextΣ0..*UsageContext
jurisdictionΣ0..*CodeableConceptBinding
purpose0..1markdown
copyright0..1markdown
caseSensitiveΣ0..1boolean
valueSetΣ0..1canonical(ValueSet)
hierarchyMeaningΣ0..1codeBinding
compositionalΣ0..1boolean
versionNeededΣ0..1boolean
contentS Σ1..1codeBinding
supplementsΣ0..1canonical(CodeSystem)
countΣ0..1unsignedInt
codeΣ1..1code
descriptionΣ0..1string
operatorΣ1..*codeBinding
valueΣ1..1string
codeΣ1..1code
uriΣ0..1uri
descriptionΣ0..1string
typeΣ1..1codeBinding
codeS1..1code
displayS1..1string
definitionS0..1string
language0..1codeBinding
use0..1CodingBinding
value1..1string
code1..1code
valueCodecode
valueCodingCoding
valueStringstring
valueIntegerinteger
valueBooleanboolean
valueDateTimedateTime
valueDecimaldecimal
concept0..*see (concept)
+
+ +
+
+

Interaktionen

+

Für die Ressource CodeSystem MUSS die REST-Interaktion "READ" implementiert werden, falls die Resource CodeSystem umgesetzt wird.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden, falls die Resource CodeSystem umgesetzt wird:

    +

    Beispiele:

    +

    GET [base]/CodeSystem?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "url" MUSS unterstützt werden, falls die Resource CodeSystem umgesetzt wird:

    +

    Beispiele:

    +

    GET [base]/CodeSystem?url=http://example.org/fhir/CodeSystem/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "CodeSystem.url" finden sich in der FHIR-Basisspezifikation - Abschnitt "uri".

    +
  4. +
+
+ +
+
+

Anmerkungen zu Must-Support-Feldern

+

CodeSystem.url

+

Bedeutung: Eindeutige Url zur Identifizierung des CodeSystems. Absolute Url sind zu bevorzugen.

+

Hinweise: OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE ein Canonical Url vergeben werden.

+

CodeSystem.version

+

Bedeutung: Version des CodeSystems

+

Hinweise: Jede Änderung des CodeSystems MUSS eine Änderung in der Version des CodeSystems und gebundenen ValueSets nach sich ziehen. Die Versionierung SOLLTE auf Basis von Semantic Versioning basieren.

+

CodeSystem.name

+

Bedeutung: Maschinenlesbarer Name des CodeSystems

+

Hinweise: Der Constraint cps-0 ist hierbei zu beachten.

+

CodeSystem.status

+

Bedeutung: Indikation, ob das CodeSystem in aktiver Verwendung ist.

+

Hinweise: Alle in einem System möglichen Status-Werte MÜSSEN über FHIR korrekt repräsentiert werden. KÖNNEN mindestens jedoch die Status-Werte "active" und "retired". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

CodeSystem.content

+

Bedeutung: Angabe, ob es sich um eine vollständige Repräsentation des CodeSystems oder nur um einen Auszug handelt.

+

Hinweise: Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "fragment" und "complete". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

CodeSystem.concept

+

Bedeutung: Angabe der Konzepte, aus denen sich das CodeSystem zusammensetzt.

+

Hinweise: Es MUSS mindestens ein Code und ein Anzeigetext spezifiziert werden.

+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel CodeSystem:

+

{
+    "resourceType": "CodeSystem",
+    "id": "CodeSystemExample",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem"
+        ]
+    },
+    "version": "3.0.4",
+    "status": "active",
+    "experimental": false,
+    "publisher": "gematik GmbH",
+    "date": "2024-03-01",
+    "url": "http://example.org/fhir/CodeSystem/TestKatalog",
+    "name": "TestKatalog",
+    "content": "complete",
+    "concept":  [
+        {
+            "code": "test",
+            "display": "Test",
+            "definition": "Dies ist ein Test-Code"
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Diagnose.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Diagnose.html new file mode 100644 index 00000000..482ff07e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Diagnose.html @@ -0,0 +1,1067 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +

Diagnose (Condition)

+
+ + +
+

Motivation

+

Die Möglichkeit, auf eine Übersicht der Diagnosen eines Patienten zuzugreifen, Patienten anhand ihrer Diagnose zu suchen oder zu prüfen, ob eine konkrete Diagnose bei einem Patienten vorliegt, sind wichtige Funktionen im klinischen Behandlungsablauf.

+

In FHIR werden Diagnosen mit der Condition-Ressource repräsentiert.

+

Da die Diagnosen in klinischen Primärsystemen in der Regel in ICD-10-codierter Form vorliegen, fordert ISiK in erster Linie diese Form des Austausches. +Falls eine Diagnose zwar dokumentiert, aber noch nicht codiert wurde (z.B. wenn die Kodierung erst nach der Entlassung erfolgt), ist alternativ eine Repräsentation als Freitext-Diagnose möglich.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISiKDiagnose wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISiKDiagnose valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden.

+ +
+
+

Profil

+ +
NameCanonical
ISiKDiagnosehttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose
+

idS Σ0..1System.String
relatedS I0..1Extension(Reference(Condition))
identifierΣ0..*Identifier
clinicalStatusS Σ ?! I0..1CodeableConceptBinding
verificationStatusΣ ?! I0..1CodeableConceptBinding
category0..*CodeableConceptBinding
severity0..1CodeableConceptBinding
Mehrfachcodierungs-KennzeichenS I0..1Extension(Coding)
SeitenlokalisationS I0..1Extension(Coding)
DiagnosesicherheitS I0..1Extension(Coding)
systemΣ1..1uriFixed Value
versionΣ1..1string
codeΣ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ1..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
bodySiteΣ0..*CodeableConcept
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
Lebensphase-StartI0..1Extension(CodeableConcept)
Lebensphase-EndeI0..1Extension(CodeableConcept)
onsetDateTimeΣ0..1dateTime
abatementDateTimedateTime
abatementAgeAge
abatementPeriodPeriod
abatementRangeRange
abatementStringstring
recordedDateS Σ1..1dateTime
recorderΣ I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)
asserterΣ I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)
summaryI0..1CodeableConcept
assessmentI0..*Reference(ClinicalImpression | DiagnosticReport | Observation)
type0..1CodeableConcept
codeΣ I0..*CodeableConcept
detailΣ I0..*Reference(Resource)
noteS0..*Annotation

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + +
keyseverityhumanexpression
isik-con1errorFalls eine kodierte Diagnose vorliegt muss angegeben werden durch welchen Kontakt diese Dokumentation erfolgte.code.coding.exists() implies encounter.exists()
icd-text-1errorEntweder MUSS eine kodierte Diagnose vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.coding.exists().not() implies text.exists()
+
+

Terminology Bindings

+ +
PathNameStrengthURL
Condition.code.codingDiagnosesSCTrequiredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/DiagnosesSCT
+
+ +
+
+

Anmerkungen zu den Must-Support-Feldern

+

Condition.clinicalStatus

+

Bedeutung: Kodierter klinischer Status der Diagnose. MUSS angegeben werden, da die Interpretation der Diagnose davon abhängt ob diese 'aktiv' ist oder einen anderen Status aufweist. Alle in einem System möglichen Clinical-Status-Werte müssen über FHIR korrekt repräsentiert werden, können mindestens jedoch die Status-Werte "active" und "inactive" unterstützen. Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Hinweise:

+

FHIRPath Constraints seitens der FHIR-Kernspezifikation rund um Condition.clinicalStatus sind zu beachten.

+

Condition.code.coding

+

Bedeutung: Kodierte Diagnose. Die Kodierung KANN nach den Vorgaben des BfArM per ICD-10GM kodiert werden. Weiterhin sind folgende Kodiersysteme u.a. auf Basis von Empfehlungen des BfArM zulässig:

+ +

Condition.code.text

+

Bedeutung: Freitextdiagnose

+

Hinweise:

+

Die Freitextdiagnose darf nur alleinstehend angegeben werden, solange keine kodierte Diagnose vorliegt.

+

Condition.code.coding:ICD-10-GM.extension:Seitenlokalisation

+

Hinweise: Angaben zur ICD-Seitenlokalisation ("R", "L", "B") müssen vom Code abgetrennt und in der Extension angegeben werden.

+

Condition.code.coding:ICD-10-GM.extension:Mehrfachcodierungs-Kennzeichen

+

Hinweise: ICD-Mehfachcodierungs-Kennzeichen ("†", "*", "!") müssen vom Code abgetrennt und in der Extension angegeben werden.

+

Condition.code.coding:ICD-10-GM.extension:Diagnosesicherheit

+

Hinweise: Angaben zur ICD-Diagnosesicherheit ("A", "G", "V", "Z") müssen vom Code abgetrennt und in der Extension angegeben werden.

+

Condition.subject

+

Bedeutung: Ein Patientenbezug der Diagnose MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Condition.encounter

+

Bedeutung: Der Fallbezug einer Diagnose MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Hinweise:

+

Eine Verlinkung der Referenz auf den dazugehörigen Kontakt SOLL auf die Ebene des Abteilungskontaktes (entsprechend ISiKKontaktGesundheitseinrichtung) erfolgen. +Bei der Auswahl des Kontaktes ist zu beachten, dass mehrere Encounter-Ressourcen mit identischen Aufnahmenummer-Identifiern existieren können (Abbildung Vor- und nachstationäre Kontakte).

+

Condition.recordedDate

+

Bedeutung: Das Dokumentationsdatum der Diagnose MUSS zu Qualitätssicherungszwecken angegeben werden. Dies ist das fachliche Dokumentationsdatum, nicht zu verwechseln mit der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.

+

Hinweise:

+

Das Recorded Date MUSS mindestens auf den Monat genau angegeben werden (vgl. FHIRPath Constraint rec-1)

+

Condition.note

+

Bedeutung: Weitere optionale Freitext-Notizen bezogen auf die Diagnose.

+

Condition.extension:ReferenzPrimaerdiagnose

+

Bedeutung: Bei mehrfachkodierten ICD-Diagnosen (z.B. Kreuz-Stern-Notation) muss die Sekundär- auf die Primärdiagnose verlinkt werden

+
+ +
+
+

Interaktionen

+

Für die Ressource Condition MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?_id=test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "clinical-status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?clincial-status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.clinicalStatus" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  4. +
  5. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  6. +
  7. Der Suchparameter "subject" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?subject=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  8. +
  9. Der Suchparameter "encounter" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?encounter=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.encounter" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  10. +
  11. Der Suchparameter "recorded-date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?recorded-date=2015-01-01T12:00:23Z+02:00

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.recordedDate" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  12. +
  13. Der custom Suchparameter "related" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?related=Condition/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.related" finden sich im Leitfaden Basis DE (R4) - Abschnitt "Diagnosen (Condition) - Doppel-/Mehrfachkodierte ICD-Codes".

    +
  14. +
  15. Der Suchparameter "category" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?category=http://hl7.org/fhir/ValueSet/condition-category|problem-list-item

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "category" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  16. +
+
+ +
+
+

Beispiel

+

Valides Minimalbeispiel Diagnose:

+

{
+    "resourceType": "Condition",
+    "id": "Example-condition-kreuz-stern-primaer",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose"
+        ]
+    },
+    "clinicalStatus": {
+        "coding":  [
+            {
+                "code": "recurrence",
+                "system": "http://terminology.hl7.org/CodeSystem/condition-clinical"
+            }
+        ]
+    },
+    "code": {
+        "coding":  [
+            {
+                "extension":  [
+                    {
+                        "url": "http://fhir.de/StructureDefinition/icd-10-gm-mehrfachcodierungs-kennzeichen",
+                        "valueCoding": {
+                            "version": "2021",
+                            "code": "",
+                            "system": "http://fhir.de/CodeSystem/icd-10-gm-mehrfachcodierungs-kennzeichen"
+                        }
+                    }
+                ],
+                "version": "2019",
+                "code": "E10.30",
+                "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm",
+                "display": "Diabetes mellitus"
+            }
+        ]
+    },
+    "subject": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "encounter": {
+        "reference": "Encounter/Fachabteilungskontakt"
+    },
+    "recordedDate": "2021-05-24",
+    "note":  [
+        {
+            "text": "Beispiel für eine Anmerkung"
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Kontakt.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Kontakt.html new file mode 100644 index 00000000..86ff02b5 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Kontakt.html @@ -0,0 +1,1687 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +

Kontakt/Fall (Encounter)

+
+ + +
+

Motivation

+

Informationen über die Besuche des Patienten entlang seines Behandlungspfades im Krankenhaus sind ein wichtiger Bestandteil des einrichtungsinternen Datenaustausches. +Sie ermöglichen die Unterscheidung von stationären und ambulanten sowie aufgenommenen und entlassenen Patienten. +Weiterhin ist aus den Besuchsinformationen der aktuelle Aufenthaltsort des Patienten (Fachabteilung, Station, Bettplatz) ermittelbar. +Klinische Ressourcen werden in FHIR durch Verlinkung auf die Encounter-Ressource in einen Kontext zum Besuch gestellt. Dieser Kontext ist wichtig für die Steuerung von Zugriffsberechtigungen und Abrechnungsprozessen.

+

Zu Beginn der meisten klinischen Workflows steht die Auswahl des Besuchskontextes. Dies geschieht bspw. durch das Suchen der Encounter-Ressource anhand von Eigenschaften wie Aufnahmenummer, Fallart oder Aufnahmedatum. Daraufhin werden die zutreffenden Suchergebnisse angezeigt und der gewünschte Besuch ausgewählt.

+
+

Der Begriff "Fall" im Kontext von FHIR

+

Wichtig ist die Herausstellung, dass "Besuch" und "Fall" wechselseitig keine synonyme Begriffe sind.

+

Der Begriff "Fall" gruppiert im Sprachgebrauch verschiedene Konzepte, die in FHIR durch unterschiedliche Ressourcen repräsentiert werden:

+
    +
  • Aufenthalt/Besuch/Kontakt (Encounter): +Der stationäre Aufenthalt oder der ambulante Kontakt eines Patienten in einer Gesundheitseinrichtung wird in FHIR durch die Ressource Encounter abgebildet.

    +
  • +
  • Abrechnungsfall (Account): +Der Fall, im Sinne einer Gruppierung von medizinischen Leistungen, die in einem gemeinsamen Kontext abgerechnet werden, sind in FHIR durch die Ressource Account repräsentiert. Ein Abrechnungsfall kann mehrere Encounter umfassen (z.B. vorstationärer Besuch, stationärer Aufenthalt und nachstationäre Besuche) + + +Encounter-Modell-Abrechnung +

    +
  • +
  • Medizinischer Fall (EpisodeOfCare): +Der medizinische Fall gruppiert Informationen, die im Kontext einer gemeinsamen (Dauer-)Diagnose stehen und wird in FHIR durch die EpisodeOfCare dargestellt. + + +Encounter-Modell-Medizinisch +

    +
  • +
+
+

Der Begriff "Fall" im Kontext der Medizininformatik-Initiative

+

In dem von der Medizininformatik-Initiative zur Kontaktverfolgung (Infektionsketten) des Patienten entworfenen Modell wird der Encounter in drei verschiedenen Ebenen verwendet:

+
    +
  • Einrichtungskontakt: +Als Kontakt eines Patienten mit einer Einrichtung (z.B: Klinik) gruppiert mehrere Besuche bei einer Einrichtung als gemeinsamen Behandlungskontext.

    +
  • +
  • Abteilungskontakt: +Als Kontakt des Patienten mit einer Fachabteilung eines Krankenhauses (z.B. einer Ambulanz oder einer stationären Fachabteilung).

    +
  • +
  • Versorgungsstellenkontakt: +Als Kontakt des Patienten mit konkreten Servicestellen, wie z.B. Radiologie oder Endoskopie

    +
  • +
+

Zur Unterscheidung der verschiedenen Kontaktebenen wird in der MI-I eine Codierung in Encounter.type verwendet. Die Hierarchie der Encounter wird über die Encounter.partOf-Relation hergestellt. Ambulante Besuche werden in dem Modell derzeit noch nicht berücksichtigt.

+

+ +Encounter-Modell-MII +

+
+

Der Begriff "Fall" im Kontext der ISiK-Spezifikation

+

Für die Ausbaustufe 2 und 3 des ISiK Basismoduls werden alle zuvor genannten Sichtweise und Modelle berücksichtigt:

+

+ +Encounter-Modelle +

+

Verpflichtend umzusetzen ist für die bestätigungsrelevanten Systeme der Account, im Sinne der Gruppierung einzelner Besuche, zu einem gemeinsamen (Abrechnungs-)Fall sowie der Encounter der Ebene "Abteilungskontakt" im Sinne des Modells der Medizininformatikinitiative.

+

Herstellern steht es frei, weitere Ressourcen, wie zum Beispiel die EpisodeOfCare oder den Encounter, im Sinne des Einrichtungskontaktes bzw. des Versorgungststellenkontaktes, zu implementieren.

+

Wichtig sind dabei jedoch folgende Punkte zu beachten:

+
    +
  • Encounter im ISiK-Kontext sind stets als "Abteilungskontakte, im Sinne der MI-I mit dem entsprechenden Encounter.type-Code, zu kennzeichnen.
  • +
  • jegliche im ISiK-Basis-Modul, als auch in anderen ISiK-Modulen definierte Ressourcen, die über einen Encounter-Kontext verfügen, müssen auf einen ISiK-Encounter (Abteilungskontakt) referenzieren. + + +Encounter-Modell-ISiK +
  • +
+
+

Die Repräsentation der "Fall"-Nummer

+

Die "Fall"-Nummer ist ein im Kontext der stationären Versorgung häufig verwendetes Vehikel, um (insbesondere in der HL7-V2-Kommunikation) mit einfachen Mitteln den Fallkontext medizinischer Dokumentationen herzustellen.

+

In den meisten Fällen handelt es sich bei der "Fall"-Nummer um einen eindeutigen Identifier des Abrechnungsfalls. +Im ISiK-Kontext ist die Fallnummer daher als Identifier des Accounts zu sehen und nicht geeignet, einen Encounter eindeutig zu identifizieren und damit den für FHIR-Ressourcen erforderlichen Encounter-Kontext zu etablieren. +Es müssen zusätzliche Kriterien, wie z.B. Zeitraum(Encounter.period), Fallart (Encounter.class) oder Status (Encounter.status) berücksichtigt werden, um den korrekten Encounter zu finden.

+

ISiK berücksichtigt jedoch die gängige Praxis, dass die Fallnummer als primäres Suchkriterium verwendet wird; auch von Systemen, die rein der medizinischen Versorgung dienen und keine Abrechnungsfunktionen implementieren. +Um insbesondere Subsysteme von der Pflicht zu entbinden, die Account-Ressource zu implementieren, nur um Zugriff zur Fallnummer zu bekommen, ist das Mitführen des Account-Identifiers als logische Referenz auf den Account im Encounter verpflichtend. Die Fallnummer eines Encounters kann daher auch ohne Kenntnis des Accounts ermittelt werden.

+ + + + + + + + + + + + + +
HinweisÄnderung gegenüber ISiK-Basis-Modul Stufe 1!
Could not find subject. Project was not found for Material/Images/IG_Warning.
Die Abbildung der Fallnummer als Identifier des Accounts ist abweichend von der im Basismodul Stufe 1 festgelegten Abbildung der Fallnummer als Identifier des Encounters. Diese Änderung ist erforderlich, da die Fallnummer nicht geeignet ist, einen Encounter eindeutig zu identifizieren. Der Encounter kann weiterhin einen von der Abrechnungsfallnummer unabhänigen Identifier enthalten (z.B. "Aufnahmenummer", Bewegungsnummer). Dieser identifiziert eineindeutig den jeweiligen Kontakt.
+

+ +Encounter-Modell-Fallnummer +

+
+ +
+
+

Kompatibilität

+

Für das Profil ISiKKontaktGesundheitseinrichtung wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISiKKontaktGesundheitseinrichtung valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ +
+
+

Profil

+ +
NameCanonical
ISiKKontaktGesundheitseinrichtunghttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung
+

idS Σ0..1System.String
url1..1System.StringFixed Value
valueCodingCoding
url1..1System.StringFixed Value
valueCodingCoding
url1..1System.StringFixed Value
valueCodingCoding
url1..1System.StringFixed Value
plannedStartDateS I0..1Extension(dateTime)
plannedEndDateS I0..1Extension(dateTime)
useΣ ?!0..1codeBinding
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
status1..1codeBinding
periodI1..1Period
classS Σ1..1CodingBinding
class1..1CodingBinding
periodI1..1Period
KontaktebeneS Σ1..1CodeableConceptBindingPattern
KontaktArtS Σ0..1CodeableConceptBindingPattern
FachabteilungsschluesselS Σ0..1CodingBindingPattern
ErweiterterFachabteilungsschluesselS Σ0..1CodingBindingPattern
textΣ0..1string
priority0..1CodeableConcept
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
episodeOfCareΣ I0..*Reference(EpisodeOfCare)
basedOnI0..*Reference(ServiceRequest)
typeΣ0..*CodeableConceptBinding
periodI0..1Period
individualΣ I0..1Reference(Practitioner | PractitionerRole | RelatedPerson)
appointmentΣ I0..*Reference(Appointment)
startS Σ I0..1dateTime
endS Σ I0..1dateTime
lengthI0..1Duration
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
DiagnosetypS Σ1..1CodingBinding
DiagnosesubTypS Σ0..*CodingBinding
textΣ0..1string
rankS0..1positiveInt
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayΣ0..1string
WahlleistungS I0..*Extension(Coding)
preAdmissionIdentifier0..1Identifier
originI0..1Reference(Location | Organization)
admitSourceS0..1CodeableConceptBinding
reAdmission0..1CodeableConcept
dietPreference0..*CodeableConcept
specialCourtesy0..*CodeableConceptBinding
specialArrangement0..*CodeableConceptBinding
destinationI0..1Reference(Location | Organization)
EntlassungsgrundS I0..1Extension(Complex)
codingΣ0..*Coding
textΣ0..1string
locationI1..1Reference(Location)
status0..1codeBinding
physicalType0..1CodeableConceptBinding
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
status0..1codeBinding
physicalTypeS1..1CodeableConceptPattern
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
status0..1codeBinding
physicalTypeS1..1CodeableConceptPattern
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
status0..1codeBinding
physicalTypeS1..1CodeableConceptPattern
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
partOfI0..1Reference(Encounter)

+

Bei Abbildung von Versorgungsstellenkontakten

+

Es ist ein üblicher Fall, dass die Dauer eines Versorgungsstellenkontaktes die eines Abteilungskontaktes übersteigt. Ein Beispiel hierfür: Ein Patient bleibt im Bett (Versorgungsstellenkontakt), aber ein Fachabteilungswechsel geschieht, da die Diagnose über eine Fachabteilung (Onkologie) läuft, dann aber der Wechsel zur Fachabteilung Chirurgie (neuer Abteilungskontakt) notwendig wird.

+

Für einen solchen Fall gilt:

+

Im Falle eines Fachabteilungswechsels legt ein System einen neuen Abteilungskontakt an. Bestehende Versorgungsstellenkontakt SOLLEN nicht in ihrer Relation (.partOf) zum Abteilungskontakt modifiziert werden. Hingegen SOLL das System einen oder mehrere Versorgungsstellenkontakte erzeugen und mit dem neu angelegten Abteilungskontakt in Verbindung setzen.

+

Hinweis: Ein Versorgungsstellenkontakt endet zugleich nicht notwendigerweise mit einem Fachabteilungswechsel.

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + + + + + + + +
keyseverityhumanexpression
ISiK-enc-1errorAbgeschlossene, ambulante Kontakte sollten einen Start-Zeitpunkt angebenstatus = 'finished' and class = 'AMB' implies period.start.exists()
ISiK-enc-2errorAbgeschlossene, stationäre Kontakte sollten einen Start- und End-Zeitpunkt angebenstatus = 'finished' and class = 'IMP' implies period.start.exists() and period.end.exists()
ISiK-enc-3errorGeplante Kontakte sollten keinen Start- oder End-Zeitpunkt angebenstatus = 'planned' implies period.exists().not()
ISiK-enc-4warningGeplante Kontakte sollten die Extensions für den geplanten Start- oder End-Zeitpunkt verwendenstatus = 'planned' implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate').exists()
ISiK-enc-5errorIn-Durchführung befindliche Kontakte sollten einen Start-Zeitpunkt angebenstatus = 'in-progress' implies period.start.exists()
ISiK-enc-6errorKontakte mit Abwesenheitsstatus sollten einen Start-Zeitpunkt angebenstatus = 'onleave' implies period.start.exists()
ISiK-enc-7warningKontakte mit unbekannten Status sollten einen Start-Zeitpunkt angebenstatus = 'unknown' implies period.start.exists()
ISiK-enc-8errorDie Rolle der assoziierten Diagnose(n) darf nicht 'Billing' seindiagnosis.use.all(coding.code != 'billing')
+

Weitere Hinweise zu den Abgrenzungen der Begrifflichkeiten Fall und Kontakt finden sie unter Deutsche Basisprofile - Abschnitt Ambulanter/stationärer Fall / Kontakt (Encounter).

+
+

Terminology Bindings

+ + + + + + + + + + +
PathNameStrengthURL
Encounter.statusEncounterStatusDerequiredhttp://fhir.de/ValueSet/EncounterStatusDe
Encounter.classEncounterClassDErequiredhttp://fhir.de/ValueSet/EncounterClassDE
Encounter.typekontaktebene-derequiredhttp://fhir.de/ValueSet/kontaktebene-de
Encounter.typekontaktart-derequiredhttp://fhir.de/ValueSet/kontaktart-de
Encounter.serviceType.codingdkgev/Fachabteilungsschluesselrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel
Encounter.serviceType.codingdkgev/Fachabteilungsschluessel-erweitertrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel-erweitert
Encounter.diagnosis.use.codingDiagnoseTyprequiredhttp://fhir.de/ValueSet/DiagnoseTyp
Encounter.diagnosis.use.codingDiagnosesubtyprequiredhttp://fhir.de/ValueSet/Diagnosesubtyp
Encounter.hospitalization.admitSourcedgkev/Aufnahmeanlassextensiblehttp://fhir.de/ValueSet/dgkev/Aufnahmeanlass
Encounter.location.physicalTypeISiKLocationPhysicalTypeextensiblehttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType
+
+ +
+
+

Anmerkungen zu den Must-Support Feldern

+

Encounter.status

+

Bedeutung: Der Status MUSS insbesondere zur Differenzierung von abgeschlossenen und derzeitig noch aktiven Kontakten angegeben werden. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden. Es KÖNNEN jedoch mindestens die Status-Werte "in-progress", "finished" und "cancelled" unterstützt werden. Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

+

Encounter.class

+

Bedeutung: Alle Encounter MÜSSEN eindeutig kategorisiert werden können, sodass eine Filterung pro Typ möglich ist.

+

Hinweise: Verpflichtende Kodierung per HL7 v3 Value Set ActEncounterCode, um eine internationale Kompatibilität aufrecht zu erhalten.

+

Encounter.type

+

Bedeutung: Angabe vom Typ des Kontaktes. Alle Möglichkeiten eines Einrichtungskontaktes nach SGB V sind vorhanden.

+

Encounter.subject

+

Bedeutung: Ein Patientenbezug des Falls MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Encounter.period

+

Bedeutung: Der Rahmen des Kontaktes MUSS zur zeitlichen Einordnung angeben werden.

+

Hinweise: Es ist der FHIRPath Constraint ISiK-enc-1 zu beachten. Siehe JSON Repräsentation FHIR Profil ISiK Encounter.

+

Encounter.location

+

Bedeutung: Falls Details zum Ort, an dem der Kontakt stattfindet, vorliegen, KÖNNEN diese in einer beliebigen Detailtiefe angegeben werden.

+

Encounter.serviceProvider

+

Bedeutung: Falls Details zur verantwortlichen Organisationeinheit vorliegen, KÖNNEN diese in einer beliebigen Detailtiefe angegeben werden.

+
+ +
+
+

Interaktionen

+

Für die Ressource Encounter MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?identifier=http://test.krankenhaus.de/fhir/sid/fallnr|123456

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?status=finished

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "class" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?class=IMP

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.class" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  8. +
  9. Der Suchparameter "type" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?type=http://fhir.de/CodeSystem/kontaktart-de|stationaer

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  10. +
  11. Der Suchparameter "subject" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?subject=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  12. +
  13. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  14. +
  15. Der Suchparameter "account" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?account=Account/123

    +

    GET [base]/Encounter?account:identifier=https://example.org/fhir/sid/abrechnungsfallnr|123456

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.account" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  16. +
  17. Der Suchparameter "date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?date=eq2020-26-10

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.period" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search". Bei der Formulierung der Suche sollten die Vorgaben aus der Definition der Such-Prefixe - und hier insbesondere die Unterschiede zwischen "lt" und "eb" bzw. "gt" und "sa" - beachtet werden.

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  18. +
  19. Der Suchparameter "date-start" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?date-start=lt2020-26-10

    +

    Anwendungshinweise: Bei diesem custom Suchparameter handelt es sich um eine Lösung, die aus einer abweichenden FHIR-Version (R5) stammt. Weitere Informationen zur Suche nach "Encounter.period" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  20. +
  21. Der Suchparameter "end-date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?end-date=lt2020-26-10

    +

    Anwendungshinweise: Bei diesem custom Suchparameter handelt es sich um eine Lösung, die aus einer abweichenden FHIR-Version (R5) stammt. Weitere Informationen zur Suche nach "Encounter.period" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  22. +
  23. Der Suchparameter "location" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?location=Location/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.location" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  24. +
  25. Der Suchparameter "service-provider" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?service-provider=Organization/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.serviceProvider" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  26. +
+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKKontaktGesundheitseinrichtung:

+

Command 'json' could not render: File was not found for versorgungsstellenkontakt

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Patient.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Patient.html new file mode 100644 index 00000000..d19e3bac --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Patient.html @@ -0,0 +1,1858 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +

Patient (Patient)

+

Die nachfolgenden Festlegungen spezifizieren die Abbildung von Minimalanforderungen für die Bereitstellung von administrativen Patientendaten im Rahmen des Bestätigungsverfahrens der gematik.

+
+ + +
+

Motivation

+

Der Austausch administrativer Patientendaten ist eine der grundlegenden Funktionalitäten beim Datenaustausch in der klinischen Versorgung.

+

In FHIR werden sämtliche klinischen Ressourcen durch Verlinkung auf die Ressource 'Patient' in einen Patientenkontext gestellt.

+

Die Herstellung des korrekten Patientenkontextes durch Suchen der Patientenressource anhand von Eigenschaften wie Aufnahmenummer, Name oder Geburtsdatum, die Anzeige der zutreffenden Suchergebnisse und der Auswahl bzw. Bestätigung des richtigen Datensatzes durch den Anwender steht am Beginn der meisten klinischen Workflows.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISIKPatient wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKPatient valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ +
+
+

FHIR-Profil

+ +
NameCanonical
ISiKPatienthttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient
+
idS Σ0..1System.String
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useS Σ ?!0..1codeBindingFixed Value
typeS Σ1..1CodeableConceptBindingPattern
systemΣ0..1uri
valueS Σ1..1string
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayS Σ1..1string
activeS Σ ?!0..1boolean
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
givenS Σ1..*string
url1..1System.StringFixed Value
valueCodecode
suffixΣ0..*string
periodΣ I0..1Period
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
givenΣ0..0string
suffixΣ0..*string
periodΣ I0..1Period
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
Geschlecht-AdministrativS I0..1Extension(Coding)
url1..1System.StringFixed Value
valueCodecode
deceasedBooleanboolean
deceasedDateTimedateTime
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
maritalStatus0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
relationship0..*CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationI0..1Reference(Organization)
periodI0..1Period
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerI0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ I0..1Reference(Organization)
otherΣ I1..1Reference(Patient | RelatedPerson)
typeΣ1..1codeBinding
+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + + +
keyseverityhumanexpression
isik-pat-1errorFalls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werdengender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
+
+ +
+
+

Anmerkungen zu Must-Support-Feldern

+

Patient.active

+

Bedeutung: Indikator "Patientdatensatz ist in aktiver Benutzung"

+

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

+

Patient.identifier:versichertenId_GKV

+

Bedeutung: Versicherten ID der gesetzlichen Krankenkasse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.identifier:pid

+

Bedeutung: Organisationsinterner Patienten-Identifier

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.identifier:versicherungsnummer_pkv

+

Bedeutung: Versicherten Nr., falls versichert bei einer privaten Krankenkasse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.name:name

+

Bedeutung: Vollständiger Name

+

Hinweise: Wenn kein Name vorliegt, SOLLTE die data-absent-reasons-Extension eingesetzt werden. Siehe Beschreibung der Deutschen Basisprofile

+

Patient.name:geburtsname

+

Bedeutung: Geburtsname des Patienten (nur Nachname)

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.address:Strassenanschrift

+

Bedeutung: Straßenadresse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.address:Postfach

+

Bedeutung: Postfachadresse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.gender

+

Bedeutung: Administratives Geschlecht

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.birthdate

+

Bedeutung: Geburtsdatum

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Stornierung von Patienten

+

Im Rahmen des ISiK Basismoduls SOLLTE die Stornierung eines Patienten entweder durch das Löschen der Patienten-Ressource oder der Verwendung des Feldes Patient.active abgebildet werden. Dies ist abhängig davon, wie die Stornierung im bestätigungsrelevanten System umgesetzt ist. Im letzteren Fall wird die Stornierung durch das Setzen von Patient.active auf false gekennzeichnet.

+
+ +
+
+

Interaktionen

+

Für die Ressource Patient MUSS die REST-Interaktion "READ" implementiert werden.

+

Für die Ressource Patient KANN die REST-Interaktion "POST" implementiert werden. Diese Interaktion dient für die Vorabübermittelung von (unverifizierten und/oder unvollständigen) Patientenstammdaten.

+
    +
  • Das bestätigungsrelevante System SOLLTE die übermittelte Patient-Ressource löschen oder als inaktiv kennzeichnen, insoweit Geschäftsregeln oder andere Gründe dazu führen, dass die Patient-Ressource nicht permanent im System angelegt wird (z.B. keine Bestätigung durch die Anwender*in des Systems oder keine Aufnahme der Patient*in).
  • +
+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?identifier=http://fhir.krankenhaus.example|1032702

    +

    GET [base]/Patient?identifier=1032702

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  4. +
  5. Der Suchparameter "given" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?given=Erika

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name.given" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  6. +
  7. Der Suchparameter "family" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?family=Musterfrau

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name.family" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  8. +
  9. Der Suchparameter "birthdate" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?birthdate=1964-12-08

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.birthDate" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  10. +
  11. Der Suchparameter "gender" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?gender=female

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.gender" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  12. +
  13. Der Suchparameter "name" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?name=Erika

    +

    GET [base]/Patient?name=Musterfrau

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  14. +
  15. Der Suchparameter "address" KANN unterstützt werden:

    +

    Beispiele

    +

    GET [base]/Patient?address=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  16. +
  17. Der Suchparameter "address-city" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?address-city=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.city" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  18. +
  19. Der Suchparameter "address-country" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?address-country=DE

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.country" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  20. +
  21. Der Suchparameter "address-postalcode" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?address-postalcode=10117

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.postalCode" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  22. +
  23. Der Suchparameter "active" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?active=true

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.active" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  24. +
  25. Der Suchparameter "telecom" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?telecom=phone|+49152236898

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.telecom" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  26. +
+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel Patient:

+

{
+    "resourceType": "Patient",
+    "id": "PatientinMusterfrau",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient"
+        ]
+    },
+    "identifier":  [
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "MR",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "https://fhir.krankenhaus.example/sid/PID",
+            "value": "TestPID"
+        },
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "GKV",
+                        "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
+                    }
+                ]
+            },
+            "system": "http://fhir.de/sid/gkv/kvid-10",
+            "value": "A123456789"
+        },
+        {
+            "use": "secondary",
+            "type": {
+                "coding":  [
+                    {
+                        "code": "PKV",
+                        "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
+                    }
+                ]
+            },
+            "value": "1234567890",
+            "assigner": {
+                "display": "Test PKV AG"
+            }
+        }
+    ],
+    "name":  [
+        {
+            "use": "official",
+            "family": "Fürstin von Musterfrau",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://fhir.de/StructureDefinition/humanname-namenszusatz",
+                        "valueString": "Fürstin"
+                    },
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Musterfrau"
+                    },
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix",
+                        "valueString": "von"
+                    }
+                ]
+            },
+            "given":  [
+                "Erika"
+            ],
+            "prefix":  [
+                "Dr."
+            ],
+            "_prefix":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier",
+                            "valueCode": "AC"
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "use": "maiden",
+            "family": "Gabler",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Gabler"
+                    }
+                ]
+            }
+        }
+    ],
+    "active": true,
+    "gender": "female",
+    "birthDate": "1964-08-12",
+    "address":  [
+        {
+            "type": "both",
+            "line":  [
+                "Musterweg 2",
+                "3. Etage"
+            ],
+            "_line":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
+                            "valueString": "Musterweg"
+                        },
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
+                            "valueString": "2"
+                        }
+                    ]
+                },
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator",
+                            "valueString": "3. Etage"
+                        }
+                    ]
+                }
+            ],
+            "city": "Musterhausen",
+            "postalCode": "98764",
+            "country": "DE"
+        },
+        {
+            "type": "postal",
+            "line":  [
+                "Postfach 8 15"
+            ],
+            "_line":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox",
+                            "valueString": "Postfach 8 15"
+                        }
+                    ]
+                }
+            ],
+            "city": "Musterhausen",
+            "postalCode": "98764",
+            "country": "DE"
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_PersonImGesundheitsberuf.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_PersonImGesundheitsberuf.html new file mode 100644 index 00000000..8cc03715 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_PersonImGesundheitsberuf.html @@ -0,0 +1,1683 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

PersonImGesundheitsberuf (Practitioner)

+
+ + +
+

Motivation

+

PersonImGesundheitsberuf können alle denkbaren medizinischen Fachexperten sein, ohne eine Rolle zu spielen. In den ISiK-FHIR-Profilen können PersonImGesundheitsberuf bspw. als Ausführende einer Prozedur auftreten, im Element performer der Procedure Ressource, oder als die Person, die eine Diagnose stellt, im Element asserter der Condition Ressource.

+

In FHIR werden PersonImGesundheitsberuf mit der Practitioner-Ressource repräsentiert.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISIKPersonImGesundheitsberuf wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKPatient valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ +
+
+

Profil

+

idS Σ0..1System.String
useΣ ?!0..1codeBindingFixed Value
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uriFixed Value
valueΣ I1..1string
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ1..1string
useΣ ?!0..1codeBindingFixed Value
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ1..1string
useΣ ?!0..1codeBinding
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ0..1boolean
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzI0..1Extension(string)
nachnameI0..1Extension(string)
vorsatzwortI0..1Extension(string)
givenS Σ1..*string
prefix-qualifierI0..*Extension(code)
suffixΣ0..*string
periodΣ I0..1Period
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzI0..1Extension(string)
nachnameI0..1Extension(string)
vorsatzwortI0..1Extension(string)
givenΣ0..0string
suffixΣ0..*string
periodΣ I0..1Period
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
extensionI0..0Extension
url1..1System.StringFixed Value
valueCodingCoding
Data-Absent-ReasonS I0..1Extension(code)
photoI0..*Attachment
identifier0..*Identifier
code1..1CodeableConcept
periodI0..1Period
issuerI0..1Reference(Organization)
communication0..*CodeableConceptBinding

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ +
keyseverityhumanexpression
prac-de-1errorDie amtliche Differenzierung der Geschlechtsangabe 'other' darf nur gefüllt sein, wenn das Geschlecht 'other' angegeben istgender='other' or gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').empty()
+
+

Terminology Bindings

+
+ +
+
+

Anmerkungen zu den Must-Support-Feldern

+

Practitioner.identifier:ANR

+

Bedeutung: Lebenslange Arztnummer. Im Krankenhaus ist die lebenslange Arztnummer der Ärzte bekannt und MUSS zur eindeutigen Identifikation eines Arztes bereitgestellt werden.

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Während die Deutschen Basisprofile hier die Abkürzung LANR verwenden, ist im KBV-Kontext das Akronym ANR gebräuchlich. Die Bezeichnung des Slices hat jedoch keinerlei Auswirkungen auf die Kompatibilität.

+

Practitioner.name:name

+

Bedeutung: Vollständiger Name. Der Name des Arztes MUSS in konkreten Anwendungen angezeigt werden können. Es MUSS nach dem Namen des Arztes gesucht werden können.

+

Practitioner.address:Strassenanschrift

+

Bedeutung: Straßenanschrift. Ist die Adresse bekannt, unter der ein Arzt erreichbar ist, MUSS sie bereitgestellt werden.

+

Practitioner.address:Postfach

+

Bedeutung: Postfachanschrift. Ist die Postfachadresse bekannt, unter der ein Arzt erreichbar ist, MUSS sie bereitgestellt werden.

+

Practitioner.gender

+

Bedeutung: Administratives Geschlecht. Ist das Geschlecht des Arztes bekannt, MUSS es bereitgestellt werden.

+

Practitioner.birthDate

+

Bedeutung: Geburtsdatum. Ist das Geburtsdatum des Arztes bekannt, MUSS es bereitgestellt werden.

+
+ +
+
+

Interaktionen

+

Für die Ressource Practitioner MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?_id=1234567890

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?identifier=42

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "given" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?given=Heidi

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.name.given" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  6. +
  7. Der Suchparameter "family" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?family=Alpenzauber

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.name.family" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  8. +
  9. Der Suchparameter "name" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?name=Heidi

    +

    GET [base]/Practitioner?name=Alpenzauber

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  10. +
  11. Der Suchparameter "address" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?address=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  12. +
  13. Der Suchparameter "gender" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?gender=female

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.gender" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  14. +
+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel PersonImGesundheitsberuf:

+

{
+    "resourceType": "Practitioner",
+    "id": "PractitionerWalterArzt",
+    "meta": {
+        "source": "http://krankenhaus.de",
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf"
+        ]
+    },
+    "name":  [
+        {
+            "use": "official",
+            "text": "Walter Arzt",
+            "family": "Arzt",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Arzt"
+                    }
+                ]
+            },
+            "given":  [
+                "Walter"
+            ]
+        },
+        {
+            "use": "maiden",
+            "text": "Gross",
+            "family": "Gross",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Gross"
+                    }
+                ]
+            }
+        }
+    ],
+    "identifier":  [
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "LANR",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR",
+            "value": "123456789"
+        },
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "DN",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "http://fhir.de/sid/bundesaerztekammer/efn",
+            "value": "123456789123456"
+        }
+    ],
+    "active": true,
+    "address":  [
+        {
+            "type": "both",
+            "line":  [
+                "Schmiedegasse 16"
+            ],
+            "_line":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
+                            "valueString": "16"
+                        },
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
+                            "valueString": "Schmiedegasse"
+                        }
+                    ]
+                }
+            ],
+            "city": "Potsdam",
+            "postalCode": "14469",
+            "country": "DE"
+        }
+    ],
+    "gender": "male",
+    "qualification":  [
+        {
+            "code": {
+                "coding":  [
+                    {
+                        "version": "http://snomed.info/sct/900000000000207008/version/20200131",
+                        "code": "112247003",
+                        "system": "http://snomed.info/sct",
+                        "display": "Medical doctor (occupation)"
+                    }
+                ]
+            }
+        }
+    ],
+    "_birthDate": {
+        "extension":  [
+            {
+                "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
+                "valueCode": "masked"
+            }
+        ]
+    }
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Prozedur.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Prozedur.html new file mode 100644 index 00000000..9d8e1f96 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Prozedur.html @@ -0,0 +1,1094 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +

Prozedur (Procedure)

+
+ + +
+

Motivation

+

Die Möglichkeit auf eine Übersicht der Prozeduren eines Patienten zuzugreifen, Patienten anhand durchgeführter oder geplanter Prozeduren zu suchen, oder zu prüfen, ob eine konkrete Prozedur bei einem Patienten durchgeführt wurde, sind wichtige Funktionen im klinischen Behandlungsablauf.

+

In FHIR werden Prozeduren mit der Procedure-Ressource repräsentiert.

+

Da die Prozeduren in klinischen Primärsystemen, in der Regel, in OPS-codierter Form vorliegen, fordert ISiK in erster Linie diese Form des Austausches. +Falls eine Prozedur zwar dokumentiert aber noch nicht codiert wurde (z.B. wenn die Kodierung erst nach der Entlassung erfolgt), ist alternativ eine Repräsentation als Freitext-Prozedur möglich.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISIKProzedur wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKProzedur valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ +
+
+

Profil

+ +
NameCanonical
ISiKProzedurhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur
+

idS Σ0..1System.String
DokumentationsdatumS I0..1Extension(dateTime)
identifierΣ0..*Identifier
instantiatesCanonicalΣ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | ServiceRequest)
partOfΣ I0..*Reference(Procedure | Observation | MedicationAdministration)
statusS Σ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
SeitenlokalisationS I0..1Extension(Coding)
systemS Σ1..1uriFixed Value
versionS Σ1..1string
codeS Σ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
performedDateTimedateTime
performedPeriodPeriod
recorderΣ I0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)
asserterΣ I0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)
functionΣ0..1CodeableConcept
actorΣ I1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
onBehalfOfI0..1Reference(Organization)
locationΣ I0..1Reference(Location)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ I0..*Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference)
bodySiteΣ0..*CodeableConcept
outcomeΣ0..1CodeableConcept
reportI0..*Reference(DiagnosticReport | DocumentReference | Composition)
complication0..*CodeableConcept
complicationDetailI0..*Reference(Condition)
followUp0..*CodeableConcept
noteS0..*Annotation
action0..1CodeableConceptBinding
manipulatedI1..1Reference(Device)
usedReferenceI0..*Reference(Device | Medication | Substance)
usedCode0..*CodeableConcept

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + + + +
keyseverityhumanexpression
proc-ISiK-1errorFalls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werdencode.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
proc-ISiK-2errorFalls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werdencode.coding.exists() implies category.coding.exists()
sct-ops-1errorFalls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. Liegt die Prozedur nicht kodiert vor SOLL Freitext angegeben werden.coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()
proc-ISiK-3errorEntweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.coding.exists().not() implies text.exists()
+
+

Terminology Bindings

+ + + +
PathNameStrengthURL
Procedure.category.codingProzedurenKategorieSCTpreferredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenKategorieSCT
Procedure.code.codingbfarm/opsrequiredhttp://fhir.de/ValueSet/bfarm/ops
Procedure.code.codingProzedurenCodesSCTrequiredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenCodesSCT
+
+ +
+
+

Anmerkungen zu den Must-Support Feldern

+

Procedure.extension:recordedDate

+

Bedeutung: +Das Dokumentationsdatum der Prozedur MUSS zu Qualitätssicherungszwecken angegeben werden. Dies ist das fachliche Dokumentationsdatum, nicht zu verwechseln mit der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.

+

Procedure.status

+

Bedeutung: +Kodierter klinischer Status der Prozedur. MUSS angegeben werden, da die Interpretation der Prozedur davon abhängt, ob diese 'completed' ist oder einen anderen Status aufweist. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "completed" und "unknown". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Procedure.category

+

Bedeutung: +Zur groben Kategorisierung MUSS eine Kodierung auf Basis der OPS-Klassencodes erfolgen. Eine ConceptMap für das Mapping von OPS-Kodes -> Kategorie findet sich in den Deutschen Basisprofilen - Implementierungsleitfaden Abschnitt Terminologien. Die Angabe der Kategeorie MUSS nur für OPS-kodierte Prozeduren erfolgen.

+

Procedure.code.coding

+

Bedeutung: Codierte Prozedur. Entweder kodiert per OPS oder SNOMED CT. Bei der Kodierung per SNOMED CT ist das ValueSet ProzedurenCodesSCT zu beachten.

+

Procedure.code.text

+

Bedeutung: Freitext-Beschreibung der Prozedur

+

Procedure.performed

+

Bedeutung: Zur zeitlichen Einordnung der Prozedur KANN das Durchführungsdatum der Prozedur dokumentiert werden. Mindestens MUSS der Beginn der Prozedur dokumentiert werden, das Ende KANN implementiert werden.

+

Procedure.subject

+

Bedeutung: Ein Patientenbezug der Prozedur MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Procedure.note

+

Bedeutung: Weitere optionale Freitext-Notizen bezogen auf die durchgeführte Prozedur.

+
+ +
+
+

Interaktionen

+

Für die Ressource Procedure MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?_id=test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?status=http://hl7.org/fhir/event-status|entered-in-error

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "category" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?category=http://snomed.info/sct|387713003

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.category" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "code" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?code=http://fhir.de/CodeSystem/bfarm/ops|5-470

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.code" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  8. +
  9. Der Suchparameter "subject" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?subject=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  10. +
  11. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "patient" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  12. +
  13. Der Suchparameter "encounter" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?encounter=Encounter/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "encounter" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  14. +
  15. Der Suchparameter "date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?date=lt2020-26-10

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "date" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  16. +
+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel Prozedur:

+

{
+    "resourceType": "Procedure",
+    "id": "Appendektomie",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur"
+        ]
+    },
+    "extension":  [
+        {
+            "url": "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum",
+            "valueDateTime": "2020-04-23"
+        }
+    ],
+    "status": "completed",
+    "category": {
+        "coding":  [
+            {
+                "code": "387713003",
+                "system": "http://snomed.info/sct",
+                "display": "Surgical procedure (procedure)"
+            }
+        ]
+    },
+    "code": {
+        "coding":  [
+            {
+                "code": "80146002",
+                "system": "http://snomed.info/sct",
+                "display": "Excision of appendix (procedure)"
+            },
+            {
+                "version": "2020",
+                "code": "5-470",
+                "system": "http://fhir.de/CodeSystem/bfarm/ops",
+                "display": "Appendektomie"
+            }
+        ],
+        "text": "Entfernung des Blinddarms"
+    },
+    "subject": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "performedDateTime": "2020-04-23",
+    "note":  [
+        {
+            "text": "Testnotiz"
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_ValueSet.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_ValueSet.html new file mode 100644 index 00000000..b9d216a9 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_ValueSet.html @@ -0,0 +1,799 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

ValueSet (ValueSet)

+
+ + +
+

Motivation

+

ISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus- / Systeminterne Kodierungen. +Mittels der Publizierung von ValueSets können Auswahllisten für externe Clients bereitgestellt werden, sodass diese Kodierungen ebenfalls anbieten können.

+
+ +
+
+

Kompatibilität

+

Für das Profil ISiKValueSet wurde bis zum Zeitpunkt der Veröffentlichung kein Abgleich der Kompatibilität zu anderen Profilen (der KBV und der Medizininformatik-Initiative) durchgeführt.

+ +
+
+

FHIR-Profil

+ +
NameCanonical
ISiKValueSethttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet
+
idS Σ1..1System.String
urlS Σ1..1uri
identifierΣ0..*Identifier
versionS Σ1..1string
nameS Σ I1..1string
titleΣ0..1string
statusS Σ ?!1..1codeBinding
experimentalΣ0..1boolean
dateΣ0..1dateTime
publisherΣ0..1string
contactΣ0..*ContactDetail
description0..1markdown
codeΣ1..1CodingBindingPattern
valueCodeableConceptCodeableConcept
jurisdictionΣ0..*CodeableConceptBinding
immutableΣ0..1boolean
purpose0..1markdown
copyright0..1markdown
lockedDateΣ0..1date
inactiveΣ0..1boolean
systemΣ I0..1uri
versionΣ0..1string
code1..1code
display0..1string
language0..1codeBinding
use0..1CodingBinding
value1..1string
propertyΣ1..1code
opΣ1..1codeBinding
valueΣ1..1string
valueSetΣ I0..*canonical(ValueSet)
excludeI0..*see (include)
identifier0..1uri
timestampS1..1dateTime
total0..1integer
offset0..1integer
name1..1string
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueDecimaldecimal
valueUriuri
valueCodecode
valueDateTimedateTime
systemS1..1uri
abstract0..1boolean
inactive0..1boolean
versionS1..1string
codeS I1..1code
displayS I1..1string
designation0..*see (designation)
contains0..*see (contains)
+
+ +
+
+

Anmerkungen zu Must-Support-Feldern

+

ValueSet.url

+

Bedeutung: Eindeutige Url zur Identifizierung des ValueSets. Absolute Urls sind zu bevorzugen.

+

Hinweise: OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE eine Canonical Url vergeben werden.

+

ValueSet.version

+

Bedeutung: Version des ValueSets

+

Hinweise: Jede Änderung des dazugehörigen CodeSystems MUSS eine Änderung in der Version des CodeSystems und ValueSets nach sich ziehen.

+

ValueSet.name

+

Bedeutung: Maschinenlesbarer Name des ValueSets

+

Hinweise: Der Constraint vsd-0 ist hierbei zu beachten.

+

ValueSet.status

+

Bedeutung: Indikation, ob das ValueSet in aktiver Verwendung ist.

+

Hinweise: Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "active" und "retired". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

ValueSet.useContext

+

Bedeutung: Angabe für welches Datenelement das ValueSet relevant ist

+

Hinweise: Es muss mindestens ein useContext angegeben werden, in dem der Ressourcen-Typ kodiert wird, in dem das ValueSet in einem Element zur Verwendung kommt.

+

ValueSet.expansion

+

Bedeutung: Angabe der Konzepte aus denen sich das ValueSet zusammensetzt.

+

Hinweise: Mindestens MUSS ein Code und ein Anzeigetext spezifiziert werden.

+
+ +
+
+

Interaktionen

+

Für die Ressource ValueSet MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "url" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?url=http://example.org/fhir/ValueSet/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.url" finden sich in der FHIR-Basisspezifikation - Abschnitt "uri".

    +
  4. +
  5. Der Suchparameter "name" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?name=TestValueSet

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  6. +
  7. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search"".

    +
  8. +
  9. Der Suchparameter "version" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?version=1.0.0

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.version" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  10. +
  11. Der Suchparameter "context-type-value" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?context-type-value=http://terminology.hl7.org/CodeSystem/usage-context-type|focus$http://hl7.org/fhir/resource-types|Encounter

    +

    Mit dieser Abfrage können hausinterne Kataloge anhand des Ressource-Typs ermittelt werden. Diese Informationen sind u.a. relevant im Kontext von:

    +
      +
    • Hausinternen Prozeduren/Diagnosen-Codes
    • +
    • Kodierung von Encounter-Informationen (z.B. Wahlleistungen, Orttypen)
    • +
    +

    Use Cases im Zusammenhang:

    +

    (A) Zur Konfigurationszeit können passende ValueSets von einem Server spezifisch für einen Ressourcentyp abgerufen und vorbereitend auf eine Systemintegration begutachtet bzw. in Client-Systeme eingebunden werden. In diesem Sinne wird die Abfrage im Kontext der Terminvereinbarung durch einen Termin-Requestor genutzt.

    +

    (B) Zur Laufzeit können spezifische ValueSets synchronisiert bzw. direkt in die Eingabemasken von Clients eingebunden werden.

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "CodeSystem.useContext" finden sich in der FHIR-Basisspezifikation - Abschnitt "Composite Search Parameters".

    +
  12. +
+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel Patient:

+

{
+    "resourceType": "ValueSet",
+    "id": "ISiKValueSetExample",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet"
+        ]
+    },
+    "useContext":  [
+        {
+            "code": {
+                "code": "focus",
+                "system": "http://terminology.hl7.org/CodeSystem/usage-context-type"
+            },
+            "valueCodeableConcept": {
+                "coding":  [
+                    {
+                        "code": "Encounter",
+                        "system": "http://hl7.org/fhir/resource-types"
+                    }
+                ]
+            }
+        }
+    ],
+    "url": "http://example.org/fhir/ValueSet/TestValueSet",
+    "version": "2.0.2",
+    "name": "TestValueSet",
+    "status": "active",
+    "expansion": {
+        "timestamp": "2022-03-30",
+        "contains":  [
+            {
+                "system": "http://example.org/fhir/CodeSystem/TestKatalog",
+                "version": "1.0.0",
+                "code": "test",
+                "display": "Test"
+            }
+        ]
+    }
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Versicherungsverhaeltnis.html b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Versicherungsverhaeltnis.html new file mode 100644 index 00000000..49054dfc --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Datenobjekte-Datenobjekte_Versicherungsverhaeltnis.html @@ -0,0 +1,1271 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ +

Versicherungsverhältnis (Coverage)

+
+ + +
+

Motivation

+

ISiK unterstützt Anwendungsszenarien, in denen durch das Krankenhaus erbrachte Leistungen erfasst oder gegenüber Kostenträgern abgerechnet werden. In diesen Anwendungsszenarien wird das Versicherungsverhältnis verwendet, um bspw. den Versicherungsstatus oder die Rechnungsanschrift der Versicherung zu ermitteln.

+

In FHIR werden Versicherungsverhältnisse mit der Coverage-Ressource repräsentiert.

+
+ +
+
+

Kompatibilität

+

Profil ISiKVersicherungsverhaeltnisGesetzlich

+

Das Profil ISiKVersicherungsverhaeltnisGesetzlich basiert auf dem Profil Coverage der deutschen Basisprofile. +Instanzen, die gegen ISiKVersicherungsverhaeltnisGesetzlich valide sind, sind auch valide gegen

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+

Profil ISiKVersicherungsverhaeltnisSelbstzahler

+

Das Profil ISiKVersicherungsverhaeltnisSelbstzahler basiert auf dem Profil "Coverage, deutsches Selbstzahlerprofil" der deutschen Basisprofile. +Instanzen, die gegen ISiKVersicherungsverhaeltnisSelbstzahler valide sind, sind auch valide gegen

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ +
+
+

Profil

+

Profil ISiKVersicherungsverhaeltnisGesetzlich

+ +
NameCanonical
ISiKVersicherungsverhaeltnisGesetzlichhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich
+

identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
VersicherungsArtDeBasisS Σ1..1CodingPattern
textΣ0..1string
policyHolderΣ I0..0Reference(Patient | RelatedPerson | Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier-Profil für die 10-stellige KrankenversichertennummerPattern
displayΣ0..1string
subscriberIdΣ0..0string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1IdentifierPattern
displayΣ0..1string
dependentΣ0..1string
relationship0..1CodeableConceptBinding
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayS Σ1..1string
typeΣ1..1CodeableConceptBinding
valueΣ1..1string
nameΣ0..1string
orderΣ0..0positiveInt
networkΣ0..0string
typeΣ0..1CodeableConceptBinding
valueQuantitySimpleQuantity
valueMoneyMoney
typeΣ1..1CodeableConcept
periodΣ I0..1Period
subrogation0..1boolean
contractI0..*Reference(Contract)

+

Profil ISiKVersicherungsverhaeltnisSelbstzahler

+ +
NameCanonical
ISiKVersicherungsverhaeltnisSelbstzahlerhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler
+

pkvΣ0..1Identifier-Profil für die Abbildung einer PrivatversichertennummerPattern
statusS Σ ?!1..1codeBinding
VersicherungsArtDeBasisΣ1..1CodingPattern
textΣ0..1string
policyHolderΣ I0..0Reference(Patient | RelatedPerson | Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ1..1string
subscriberIdΣ0..0string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
dependentΣ0..1string
relationship0..1CodeableConceptBinding
periodΣ I0..1Period
payorS Σ I1..*Reference(Patient | RelatedPerson | Organization)
typeΣ1..1CodeableConceptBinding
valueΣ1..1string
nameΣ0..1string
orderΣ0..0positiveInt
networkΣ0..0string
typeΣ0..1CodeableConceptBinding
valueQuantitySimpleQuantity
valueMoneyMoney
typeΣ1..1CodeableConcept
periodΣ I0..1Period
subrogation0..1boolean
contractI0..*Reference(Contract)

+
+ +
+
+

Anmerkungen zu den Must-Support Feldern

+

Das Profil ISiKVersicherungsverhaeltnisGesetzlich

+

Coverage.identifier

+

Hinweise: Grundsätzlich ist zu beachten, dass das Versicherungsverhältnis für die gesetzliche Versicherung durch die 30-stellige KVNR identifiziert wird. Die 10-stellige KVNR ist hingegen ein Identifier für das Datenobjekt Patient. Siehe

Command 'pagelink' could not render: Page not found.
. Es wird in ISiK davon ausgegangen, dass die 30-stellige KVNR nicht in bestätigungrelevanten Systemen geführt wird, sodass diese nicht als zuverlässiger Identifier für das Versicherungsverhältnis verwendbar ist. Bei einer Suche nach einem Versicherungsverhältnis SOLLTE dieses per Chaining auf das Datenobjekt Patient ermittelt werden.

+

Coverage.status

+

Bedeutung: Der Status einer Instanz des Profils ISiKVersicherungsverhaeltnisGesetzlich.

+

Hinweise: Das Element status macht deutlich, ob diese Instanz genutzt werden kann oder ob sie bspw. als ungültig oder falsch gekennzeichnet ist, siehe FHIR Kernspezifikaton.

+

Coverage.type

+

Bedeutung: Das Element type kennzeichnet die Art der Versicherung.

+

Hinweise: Kennzeichnung als gesetzliche Versicherung, siehe Beschreibung der deutschen Basisprofile.

+

Coverage.beneficiary

+

Bedeutung: Das Element beneficiary benennt die versicherte Person, auf die sich die Kostenübernahme durch die Versicherung bezieht.

+

Hinweise: Für ISiK MUSS beneficiary ein Patient nach dem Profil ISiKPatient sein.

+

Coverage.payor

+

Bedeutung: Der Kostenträger des Versicherten.

+

Hinweise: Der Kostenträger der gesetzlichen Versicherung wird durch ein Institutskennzeichen in Coverage.payor.identifier identifiziert.

+

Das Profil ISiKVersicherungsverhaeltnisSelbstzahler

+

Coverage.subscriber

+

Bedeutung: Der Inhaber der Versicherungspolice.

+

Hinweise: Kann entweder der Patient selbst oder ein Hauptversicherter nach dem Profil ISiKHauptversicherter sein.

+

Coverage.beneficiary

+

Siehe entsprechenden Eintrag zum Profil ISiKVersicherungsverhaeltnisGesetzlich oben.

+

Coverage.payor

+

Bedeutung: Der Rechnungsempfänger.

+

Hinweise: Der Rechnungsempfänger für Selbstzahler ist entweder der Patient selbst, Hauptversicherte oder eine andere Partei.

+
+ +
+
+

Interaktionen

+

Für die Ressource Coverage MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+

Profil ISiKVersicherungsverhaeltnisGesetzlich

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "type" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?type=http://fhir.de/CodeSystem/versicherungsart-de-basis|GKV

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "beneficiary" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?beneficiary=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.beneficiary" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  8. +
  9. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.beneficiary" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  10. +
  11. Der Suchparameter "payor" in Kombination mit einem identifier-Modifier MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?payor:identifier=0123456789

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.payor" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  12. +
+

Profil ISiKVersicherungsverhaeltnisSelbstzahler

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "beneficiary" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?beneficiary=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.beneficiary" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  4. +
  5. Der Suchparameter "payor" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?payor=0123456789

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.payor" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  6. +
  7. Der Suchparameter "subscriber" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?subscriber=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.subscriber" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  8. +
  9. Der Suchparameter "status" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  10. +
  11. Der Suchparameter "type" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?type=http://fhir.de/CodeSystem/versicherungsart-de-basis|SEL

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  12. +
+
+ +
+
+

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKVersicherungsverhaeltnisGesetzlich:

+

{
+    "resourceType": "Coverage",
+    "id": "CoverageGesetzlich",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich"
+        ]
+    },
+    "type": {
+        "coding":  [
+            {
+                "code": "GKV",
+                "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis"
+            }
+        ]
+    },
+    "payor":  [
+        {
+            "identifier": {
+                "type": {
+                    "coding":  [
+                        {
+                            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
+                            "code": "XX"
+                        }
+                    ]
+                },
+                "system": "http://fhir.de/sid/arge-ik/iknr",
+                "value": "260326822"
+            },
+            "display": "Eine Gesundheitskasse"
+        }
+    ],
+    "status": "active",
+    "beneficiary": {
+        "reference": "Patient/PatientinMusterfrau"
+    }
+}

+

Valides Minimalbeispiel für das Profil ISiKVersicherungsverhaeltnisSelbstzahler:

+

{
+    "resourceType": "Coverage",
+    "id": "CoveragePrivat",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler"
+        ]
+    },
+    "type": {
+        "coding":  [
+            {
+                "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis",
+                "code": "SEL"
+            }
+        ]
+    },
+    "status": "active",
+    "beneficiary": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "payor":  [
+        {
+            "reference": "Patient/PatientinMusterfrau"
+        }
+    ]
+}

+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..f4234203 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,296 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support-Feldern

+

Condition.clinicalStatus

+

Bedeutung: Kodierter klinischer Status der Diagnose. MUSS angegeben werden, da die Interpretation der Diagnose davon abhängt ob diese 'aktiv' ist oder einen anderen Status aufweist. Alle in einem System möglichen Clinical-Status-Werte müssen über FHIR korrekt repräsentiert werden, können mindestens jedoch die Status-Werte "active" und "inactive" unterstützen. Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Hinweise:

+

FHIRPath Constraints seitens der FHIR-Kernspezifikation rund um Condition.clinicalStatus sind zu beachten.

+

Condition.code.coding

+

Bedeutung: Kodierte Diagnose. Die Kodierung KANN nach den Vorgaben des BfArM per ICD-10GM kodiert werden. Weiterhin sind folgende Kodiersysteme u.a. auf Basis von Empfehlungen des BfArM zulässig:

+ +

Condition.code.text

+

Bedeutung: Freitextdiagnose

+

Hinweise:

+

Die Freitextdiagnose darf nur alleinstehend angegeben werden, solange keine kodierte Diagnose vorliegt.

+

Condition.code.coding:ICD-10-GM.extension:Seitenlokalisation

+

Hinweise: Angaben zur ICD-Seitenlokalisation ("R", "L", "B") müssen vom Code abgetrennt und in der Extension angegeben werden.

+

Condition.code.coding:ICD-10-GM.extension:Mehrfachcodierungs-Kennzeichen

+

Hinweise: ICD-Mehfachcodierungs-Kennzeichen ("†", "*", "!") müssen vom Code abgetrennt und in der Extension angegeben werden.

+

Condition.code.coding:ICD-10-GM.extension:Diagnosesicherheit

+

Hinweise: Angaben zur ICD-Diagnosesicherheit ("A", "G", "V", "Z") müssen vom Code abgetrennt und in der Extension angegeben werden.

+

Condition.subject

+

Bedeutung: Ein Patientenbezug der Diagnose MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Condition.encounter

+

Bedeutung: Der Fallbezug einer Diagnose MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Hinweise:

+

Eine Verlinkung der Referenz auf den dazugehörigen Kontakt SOLL auf die Ebene des Abteilungskontaktes (entsprechend ISiKKontaktGesundheitseinrichtung) erfolgen. +Bei der Auswahl des Kontaktes ist zu beachten, dass mehrere Encounter-Ressourcen mit identischen Aufnahmenummer-Identifiern existieren können (Abbildung Vor- und nachstationäre Kontakte).

+

Condition.recordedDate

+

Bedeutung: Das Dokumentationsdatum der Diagnose MUSS zu Qualitätssicherungszwecken angegeben werden. Dies ist das fachliche Dokumentationsdatum, nicht zu verwechseln mit der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.

+

Hinweise:

+

Das Recorded Date MUSS mindestens auf den Monat genau angegeben werden (vgl. FHIRPath Constraint rec-1)

+

Condition.note

+

Bedeutung: Weitere optionale Freitext-Notizen bezogen auf die Diagnose.

+

Condition.extension:ReferenzPrimaerdiagnose

+

Bedeutung: Bei mehrfachkodierten ICD-Diagnosen (z.B. Kreuz-Stern-Notation) muss die Sekundär- auf die Primärdiagnose verlinkt werden

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Beispiele.html new file mode 100644 index 00000000..917e5a1e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Beispiele.html @@ -0,0 +1,309 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiel

+

Valides Minimalbeispiel Diagnose:

+

{
+    "resourceType": "Condition",
+    "id": "Example-condition-kreuz-stern-primaer",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose"
+        ]
+    },
+    "clinicalStatus": {
+        "coding":  [
+            {
+                "code": "recurrence",
+                "system": "http://terminology.hl7.org/CodeSystem/condition-clinical"
+            }
+        ]
+    },
+    "code": {
+        "coding":  [
+            {
+                "extension":  [
+                    {
+                        "url": "http://fhir.de/StructureDefinition/icd-10-gm-mehrfachcodierungs-kennzeichen",
+                        "valueCoding": {
+                            "version": "2021",
+                            "code": "",
+                            "system": "http://fhir.de/CodeSystem/icd-10-gm-mehrfachcodierungs-kennzeichen"
+                        }
+                    }
+                ],
+                "version": "2019",
+                "code": "E10.30",
+                "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm",
+                "display": "Diabetes mellitus"
+            }
+        ]
+    },
+    "subject": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "encounter": {
+        "reference": "Encounter/Fachabteilungskontakt"
+    },
+    "recordedDate": "2021-05-24",
+    "note":  [
+        {
+            "text": "Beispiel für eine Anmerkung"
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Interaktionen.html new file mode 100644 index 00000000..beddd3b7 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Interaktionen.html @@ -0,0 +1,307 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Condition MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?_id=test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "clinical-status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?clincial-status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.clinicalStatus" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  4. +
  5. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  6. +
  7. Der Suchparameter "subject" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?subject=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  8. +
  9. Der Suchparameter "encounter" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?encounter=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.encounter" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  10. +
  11. Der Suchparameter "recorded-date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?recorded-date=2015-01-01T12:00:23Z+02:00

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.recordedDate" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  12. +
  13. Der custom Suchparameter "related" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?related=Condition/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Condition.related" finden sich im Leitfaden Basis DE (R4) - Abschnitt "Diagnosen (Condition) - Doppel-/Mehrfachkodierte ICD-Codes".

    +
  14. +
  15. Der Suchparameter "category" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Condition?category=http://hl7.org/fhir/ValueSet/condition-category|problem-list-item

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "category" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  16. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Kompatibilitaet.html new file mode 100644 index 00000000..91227644 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Kompatibilitaet.html @@ -0,0 +1,265 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität

+

Für das Profil ISiKDiagnose wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISiKDiagnose valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Motivation.html new file mode 100644 index 00000000..61f7c438 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Motivation.html @@ -0,0 +1,264 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Die Möglichkeit, auf eine Übersicht der Diagnosen eines Patienten zuzugreifen, Patienten anhand ihrer Diagnose zu suchen oder zu prüfen, ob eine konkrete Diagnose bei einem Patienten vorliegt, sind wichtige Funktionen im klinischen Behandlungsablauf.

+

In FHIR werden Diagnosen mit der Condition-Ressource repräsentiert.

+

Da die Diagnosen in klinischen Primärsystemen in der Regel in ICD-10-codierter Form vorliegen, fordert ISiK in erster Linie diese Form des Austausches. +Falls eine Diagnose zwar dokumentiert, aber noch nicht codiert wurde (z.B. wenn die Kodierung erst nach der Entlassung erfolgt), ist alternativ eine Repräsentation als Freitext-Diagnose möglich.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Profil.html new file mode 100644 index 00000000..a6e9cddb --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Diagnose-Diagnose_Profil.html @@ -0,0 +1,874 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKDiagnosehttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose
+

idS Σ0..1System.String
relatedS I0..1Extension(Reference(Condition))
identifierΣ0..*Identifier
clinicalStatusS Σ ?! I0..1CodeableConceptBinding
verificationStatusΣ ?! I0..1CodeableConceptBinding
category0..*CodeableConceptBinding
severity0..1CodeableConceptBinding
Mehrfachcodierungs-KennzeichenS I0..1Extension(Coding)
SeitenlokalisationS I0..1Extension(Coding)
DiagnosesicherheitS I0..1Extension(Coding)
systemΣ1..1uriFixed Value
versionΣ1..1string
codeΣ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ1..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
bodySiteΣ0..*CodeableConcept
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
Lebensphase-StartI0..1Extension(CodeableConcept)
Lebensphase-EndeI0..1Extension(CodeableConcept)
onsetDateTimeΣ0..1dateTime
abatementDateTimedateTime
abatementAgeAge
abatementPeriodPeriod
abatementRangeRange
abatementStringstring
recordedDateS Σ1..1dateTime
recorderΣ I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)
asserterΣ I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)
summaryI0..1CodeableConcept
assessmentI0..*Reference(ClinicalImpression | DiagnosticReport | Observation)
type0..1CodeableConcept
codeΣ I0..*CodeableConcept
detailΣ I0..*Reference(Resource)
noteS0..*Annotation

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + +
keyseverityhumanexpression
isik-con1errorFalls eine kodierte Diagnose vorliegt muss angegeben werden durch welchen Kontakt diese Dokumentation erfolgte.code.coding.exists() implies encounter.exists()
icd-text-1errorEntweder MUSS eine kodierte Diagnose vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.coding.exists().not() implies text.exists()
+
+

Terminology Bindings

+ +
PathNameStrengthURL
Condition.code.codingDiagnosesSCTrequiredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/DiagnosesSCT
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Einfuehrung.html b/IG/3.0.4/ImplementationGuide-markdown-Einfuehrung.html new file mode 100644 index 00000000..d559bbd0 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Einfuehrung.html @@ -0,0 +1,282 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ + gematik logo +
+

Version: 3.0.4

+

Datum: 01.03.2024

+

Status: Aktiv

+

Realm: Deutschland

+

Abgekündigte Versionen oder Zwischenveröffentlichungen der Implementierungsleitfäden finden Sie unter: https://gematik.github.io/spec-ISiK-Basismodul/index.html

+
+

Interoperabler Datenaustausch durch Informationssysteme im Krankenhaus (ISiK)

+

Die gematik wurde vom Gesetzgeber beauftragt, im Benehmen mit der Deutschen Krankenhausgesellschaft (DKG) und den maßgeblichen Bundesverbänden der Industrie im Gesundheitswesen, verbindliche Standards für den Austausch von Gesundheitsdaten mit Informationssystemen im Krankenhaus zu erarbeiten. Dieser FHIR ImplementationGuide (IG) beschreibt die für diesen Zweck entwickelten FHIR Profile und das REST-basierte Application Programming Interface (API). Die REST-API wird im Wesentlichen vom FHIR Standard vorgegeben. Dieser Leitfaden konkretisiert die ISiK-relevanten Funktionen der Standard-REST-API und trifft inhaltliche Festlegungen zu den ISiK-relevanten Ressourcen in Form von Ressourcen-Profilen.

+

Hersteller bestätigungsrelevanter Systeme sollen durch diesen IG in die Lage versetzt werden, eine konforme Implementierung zu erstellen und das Bestätigungsverfahren der gematik erfolgreich zu absolvieren.

+

Weitere Informationen siehe §373 SGB V.

+

Hinweis: Sowohl für die Implementierung der ISiK-Spezifikation als auch für den Betrieb eines Produktes, das die ISiK-Spezifikation implementiert, ist eine SNOMED-CT-Lizenz notwendig. Diese kann beim National Release Center für SNOMED CT in Deutschland beantragt werden.

+

Kontakt

+

Bringen Sie Allgemeine Fragen und Anmerkungen gerne über unser Anfrageportal ein: Anfragen ISiK + ISiP

+

Falls Sie keinen Zugang zum Anfrageportal haben und dieses nutzen wollen, senden Sie uns bitte eine Nachricht an die Adresse isik [ at ] gematik.de mit dem Betreff "Portalzugang".

+

Herausgeber

+

gematik GmbH

+

Impressum

+

Gender-Hinweis

+

Zugunsten des Leseflusses wird in dieser Publikation meist die +männliche Form verwendet. Wir bitten, dies nicht als Zeichen einer +geschlechtsspezifischen Wertung zu deuten. Diese Variante deckt auch alle +weiteren Geschlechter, neben männlich und weiblich, ab.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..f72ab459 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,278 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu Must-Support-Feldern

+

CodeSystem.url

+

Bedeutung: Eindeutige Url zur Identifizierung des CodeSystems. Absolute Url sind zu bevorzugen.

+

Hinweise: OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE ein Canonical Url vergeben werden.

+

CodeSystem.version

+

Bedeutung: Version des CodeSystems

+

Hinweise: Jede Änderung des CodeSystems MUSS eine Änderung in der Version des CodeSystems und gebundenen ValueSets nach sich ziehen. Die Versionierung SOLLTE auf Basis von Semantic Versioning basieren.

+

CodeSystem.name

+

Bedeutung: Maschinenlesbarer Name des CodeSystems

+

Hinweise: Der Constraint cps-0 ist hierbei zu beachten.

+

CodeSystem.status

+

Bedeutung: Indikation, ob das CodeSystem in aktiver Verwendung ist.

+

Hinweise: Alle in einem System möglichen Status-Werte MÜSSEN über FHIR korrekt repräsentiert werden. KÖNNEN mindestens jedoch die Status-Werte "active" und "retired". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

CodeSystem.content

+

Bedeutung: Angabe, ob es sich um eine vollständige Repräsentation des CodeSystems oder nur um einen Auszug handelt.

+

Hinweise: Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "fragment" und "complete". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

CodeSystem.concept

+

Bedeutung: Angabe der Konzepte, aus denen sich das CodeSystem zusammensetzt.

+

Hinweise: Es MUSS mindestens ein Code und ein Anzeigetext spezifiziert werden.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Beispiele.html new file mode 100644 index 00000000..b7ad71a8 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Beispiele.html @@ -0,0 +1,284 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel CodeSystem:

+

{
+    "resourceType": "CodeSystem",
+    "id": "CodeSystemExample",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem"
+        ]
+    },
+    "version": "3.0.4",
+    "status": "active",
+    "experimental": false,
+    "publisher": "gematik GmbH",
+    "date": "2024-03-01",
+    "url": "http://example.org/fhir/CodeSystem/TestKatalog",
+    "name": "TestKatalog",
+    "content": "complete",
+    "concept":  [
+        {
+            "code": "test",
+            "display": "Test",
+            "definition": "Dies ist ein Test-Code"
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Interaktionen.html new file mode 100644 index 00000000..897e0811 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Interaktionen.html @@ -0,0 +1,274 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource CodeSystem MUSS die REST-Interaktion "READ" implementiert werden, falls die Resource CodeSystem umgesetzt wird.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden, falls die Resource CodeSystem umgesetzt wird:

    +

    Beispiele:

    +

    GET [base]/CodeSystem?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "url" MUSS unterstützt werden, falls die Resource CodeSystem umgesetzt wird:

    +

    Beispiele:

    +

    GET [base]/CodeSystem?url=http://example.org/fhir/CodeSystem/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "CodeSystem.url" finden sich in der FHIR-Basisspezifikation - Abschnitt "uri".

    +
  4. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Motivation.html new file mode 100644 index 00000000..6b5a6df2 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Motivation.html @@ -0,0 +1,268 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Katalog

+

ISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus-/Systeminterne Kodierungen. Das Profil ISiKKatalog (CodeSystem) als Profil erlaubt die Repräsentation der dazugehörigen Codes und Displaywerte.

+

Eine maschinenlesbare Repräsentation dieser Kodierungen erlaubt es Clients dazugehörige Anzeigetext und Definitionen zu verarbeiten.

+

Ein Codesystem eignet sich auch dazu, auf dessen Basis definierte ValueSets zu expandieren. +Da ISiKValueSet expandierte Valuesets vorsieht, ist eine dynamische Expansion in der Regel nicht erforderlich. +Darüber hinausgehend ist ein Use Case im Kontext der Katalogabfrage folgender: Ein Client möchte eine Expansion neu generieren (z.B. mit anderen Expansionen-Parametern), um das ValueSet beispielsweise in einer anderen Sprache auszugeben.

+

Normativer Status und Bestätigung

+

Dieses Profil MUSS im Rahmen der Bestätigung NICHT unterstützt werden. Falls das Profil unterstützt werden soll, MÜSSEN die hier definierten Festlegungen greifen (auch im Bestätigungsverfahren).

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Profil.html new file mode 100644 index 00000000..638a13c4 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Katalog-CodeSystem_Profil.html @@ -0,0 +1,601 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

FHIR-Profil

+ +
NameCanonical
ISiKCodeSystemhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem
+
idS Σ1..1System.String
urlS Σ1..1uri
identifierΣ0..*Identifier
versionS Σ1..1string
nameS Σ I1..1string
titleΣ0..1string
statusS Σ ?!1..1codeBinding
experimentalΣ0..1boolean
dateΣ0..1dateTime
publisherΣ0..1string
contactΣ0..*ContactDetail
description0..1markdown
useContextΣ0..*UsageContext
jurisdictionΣ0..*CodeableConceptBinding
purpose0..1markdown
copyright0..1markdown
caseSensitiveΣ0..1boolean
valueSetΣ0..1canonical(ValueSet)
hierarchyMeaningΣ0..1codeBinding
compositionalΣ0..1boolean
versionNeededΣ0..1boolean
contentS Σ1..1codeBinding
supplementsΣ0..1canonical(CodeSystem)
countΣ0..1unsignedInt
codeΣ1..1code
descriptionΣ0..1string
operatorΣ1..*codeBinding
valueΣ1..1string
codeΣ1..1code
uriΣ0..1uri
descriptionΣ0..1string
typeΣ1..1codeBinding
codeS1..1code
displayS1..1string
definitionS0..1string
language0..1codeBinding
use0..1CodingBinding
value1..1string
code1..1code
valueCodecode
valueCodingCoding
valueStringstring
valueIntegerinteger
valueBooleanboolean
valueDateTimedateTime
valueDecimaldecimal
concept0..*see (concept)
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..0d58b26b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,277 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support Feldern

+

Encounter.status

+

Bedeutung: Der Status MUSS insbesondere zur Differenzierung von abgeschlossenen und derzeitig noch aktiven Kontakten angegeben werden. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden. Es KÖNNEN jedoch mindestens die Status-Werte "in-progress", "finished" und "cancelled" unterstützt werden. Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

+

Encounter.class

+

Bedeutung: Alle Encounter MÜSSEN eindeutig kategorisiert werden können, sodass eine Filterung pro Typ möglich ist.

+

Hinweise: Verpflichtende Kodierung per HL7 v3 Value Set ActEncounterCode, um eine internationale Kompatibilität aufrecht zu erhalten.

+

Encounter.type

+

Bedeutung: Angabe vom Typ des Kontaktes. Alle Möglichkeiten eines Einrichtungskontaktes nach SGB V sind vorhanden.

+

Encounter.subject

+

Bedeutung: Ein Patientenbezug des Falls MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Encounter.period

+

Bedeutung: Der Rahmen des Kontaktes MUSS zur zeitlichen Einordnung angeben werden.

+

Hinweise: Es ist der FHIRPath Constraint ISiK-enc-1 zu beachten. Siehe JSON Repräsentation FHIR Profil ISiK Encounter.

+

Encounter.location

+

Bedeutung: Falls Details zum Ort, an dem der Kontakt stattfindet, vorliegen, KÖNNEN diese in einer beliebigen Detailtiefe angegeben werden.

+

Encounter.serviceProvider

+

Bedeutung: Falls Details zur verantwortlichen Organisationeinheit vorliegen, KÖNNEN diese in einer beliebigen Detailtiefe angegeben werden.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Beispiele.html new file mode 100644 index 00000000..c31de2ca --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Beispiele.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Interaktionen.html new file mode 100644 index 00000000..647f9f7b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Interaktionen.html @@ -0,0 +1,332 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Encounter MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?identifier=http://test.krankenhaus.de/fhir/sid/fallnr|123456

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?status=finished

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "class" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?class=IMP

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.class" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  8. +
  9. Der Suchparameter "type" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?type=http://fhir.de/CodeSystem/kontaktart-de|stationaer

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  10. +
  11. Der Suchparameter "subject" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?subject=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  12. +
  13. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  14. +
  15. Der Suchparameter "account" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?account=Account/123

    +

    GET [base]/Encounter?account:identifier=https://example.org/fhir/sid/abrechnungsfallnr|123456

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.account" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  16. +
  17. Der Suchparameter "date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?date=eq2020-26-10

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.period" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search". Bei der Formulierung der Suche sollten die Vorgaben aus der Definition der Such-Prefixe - und hier insbesondere die Unterschiede zwischen "lt" und "eb" bzw. "gt" und "sa" - beachtet werden.

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  18. +
  19. Der Suchparameter "date-start" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?date-start=lt2020-26-10

    +

    Anwendungshinweise: Bei diesem custom Suchparameter handelt es sich um eine Lösung, die aus einer abweichenden FHIR-Version (R5) stammt. Weitere Informationen zur Suche nach "Encounter.period" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  20. +
  21. Der Suchparameter "end-date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?end-date=lt2020-26-10

    +

    Anwendungshinweise: Bei diesem custom Suchparameter handelt es sich um eine Lösung, die aus einer abweichenden FHIR-Version (R5) stammt. Weitere Informationen zur Suche nach "Encounter.period" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  22. +
  23. Der Suchparameter "location" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?location=Location/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.location" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  24. +
  25. Der Suchparameter "service-provider" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Encounter?service-provider=Organization/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Encounter.serviceProvider" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  26. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Kompatibilitaet.html new file mode 100644 index 00000000..b3e367d5 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Kompatibilitaet.html @@ -0,0 +1,265 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität

+

Für das Profil ISiKKontaktGesundheitseinrichtung wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISiKKontaktGesundheitseinrichtung valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Motivation.html new file mode 100644 index 00000000..06d2b4c5 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Motivation.html @@ -0,0 +1,351 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Informationen über die Besuche des Patienten entlang seines Behandlungspfades im Krankenhaus sind ein wichtiger Bestandteil des einrichtungsinternen Datenaustausches. +Sie ermöglichen die Unterscheidung von stationären und ambulanten sowie aufgenommenen und entlassenen Patienten. +Weiterhin ist aus den Besuchsinformationen der aktuelle Aufenthaltsort des Patienten (Fachabteilung, Station, Bettplatz) ermittelbar. +Klinische Ressourcen werden in FHIR durch Verlinkung auf die Encounter-Ressource in einen Kontext zum Besuch gestellt. Dieser Kontext ist wichtig für die Steuerung von Zugriffsberechtigungen und Abrechnungsprozessen.

+

Zu Beginn der meisten klinischen Workflows steht die Auswahl des Besuchskontextes. Dies geschieht bspw. durch das Suchen der Encounter-Ressource anhand von Eigenschaften wie Aufnahmenummer, Fallart oder Aufnahmedatum. Daraufhin werden die zutreffenden Suchergebnisse angezeigt und der gewünschte Besuch ausgewählt.

+
+

Der Begriff "Fall" im Kontext von FHIR

+

Wichtig ist die Herausstellung, dass "Besuch" und "Fall" wechselseitig keine synonyme Begriffe sind.

+

Der Begriff "Fall" gruppiert im Sprachgebrauch verschiedene Konzepte, die in FHIR durch unterschiedliche Ressourcen repräsentiert werden:

+
    +
  • Aufenthalt/Besuch/Kontakt (Encounter): +Der stationäre Aufenthalt oder der ambulante Kontakt eines Patienten in einer Gesundheitseinrichtung wird in FHIR durch die Ressource Encounter abgebildet.

    +
  • +
  • Abrechnungsfall (Account): +Der Fall, im Sinne einer Gruppierung von medizinischen Leistungen, die in einem gemeinsamen Kontext abgerechnet werden, sind in FHIR durch die Ressource Account repräsentiert. Ein Abrechnungsfall kann mehrere Encounter umfassen (z.B. vorstationärer Besuch, stationärer Aufenthalt und nachstationäre Besuche) + + +Encounter-Modell-Abrechnung +

    +
  • +
  • Medizinischer Fall (EpisodeOfCare): +Der medizinische Fall gruppiert Informationen, die im Kontext einer gemeinsamen (Dauer-)Diagnose stehen und wird in FHIR durch die EpisodeOfCare dargestellt. + + +Encounter-Modell-Medizinisch +

    +
  • +
+
+

Der Begriff "Fall" im Kontext der Medizininformatik-Initiative

+

In dem von der Medizininformatik-Initiative zur Kontaktverfolgung (Infektionsketten) des Patienten entworfenen Modell wird der Encounter in drei verschiedenen Ebenen verwendet:

+
    +
  • Einrichtungskontakt: +Als Kontakt eines Patienten mit einer Einrichtung (z.B: Klinik) gruppiert mehrere Besuche bei einer Einrichtung als gemeinsamen Behandlungskontext.

    +
  • +
  • Abteilungskontakt: +Als Kontakt des Patienten mit einer Fachabteilung eines Krankenhauses (z.B. einer Ambulanz oder einer stationären Fachabteilung).

    +
  • +
  • Versorgungsstellenkontakt: +Als Kontakt des Patienten mit konkreten Servicestellen, wie z.B. Radiologie oder Endoskopie

    +
  • +
+

Zur Unterscheidung der verschiedenen Kontaktebenen wird in der MI-I eine Codierung in Encounter.type verwendet. Die Hierarchie der Encounter wird über die Encounter.partOf-Relation hergestellt. Ambulante Besuche werden in dem Modell derzeit noch nicht berücksichtigt.

+

+ +Encounter-Modell-MII +

+
+

Der Begriff "Fall" im Kontext der ISiK-Spezifikation

+

Für die Ausbaustufe 2 und 3 des ISiK Basismoduls werden alle zuvor genannten Sichtweise und Modelle berücksichtigt:

+

+ +Encounter-Modelle +

+

Verpflichtend umzusetzen ist für die bestätigungsrelevanten Systeme der Account, im Sinne der Gruppierung einzelner Besuche, zu einem gemeinsamen (Abrechnungs-)Fall sowie der Encounter der Ebene "Abteilungskontakt" im Sinne des Modells der Medizininformatikinitiative.

+

Herstellern steht es frei, weitere Ressourcen, wie zum Beispiel die EpisodeOfCare oder den Encounter, im Sinne des Einrichtungskontaktes bzw. des Versorgungststellenkontaktes, zu implementieren.

+

Wichtig sind dabei jedoch folgende Punkte zu beachten:

+
    +
  • Encounter im ISiK-Kontext sind stets als "Abteilungskontakte, im Sinne der MI-I mit dem entsprechenden Encounter.type-Code, zu kennzeichnen.
  • +
  • jegliche im ISiK-Basis-Modul, als auch in anderen ISiK-Modulen definierte Ressourcen, die über einen Encounter-Kontext verfügen, müssen auf einen ISiK-Encounter (Abteilungskontakt) referenzieren. + + +Encounter-Modell-ISiK +
  • +
+
+

Die Repräsentation der "Fall"-Nummer

+

Die "Fall"-Nummer ist ein im Kontext der stationären Versorgung häufig verwendetes Vehikel, um (insbesondere in der HL7-V2-Kommunikation) mit einfachen Mitteln den Fallkontext medizinischer Dokumentationen herzustellen.

+

In den meisten Fällen handelt es sich bei der "Fall"-Nummer um einen eindeutigen Identifier des Abrechnungsfalls. +Im ISiK-Kontext ist die Fallnummer daher als Identifier des Accounts zu sehen und nicht geeignet, einen Encounter eindeutig zu identifizieren und damit den für FHIR-Ressourcen erforderlichen Encounter-Kontext zu etablieren. +Es müssen zusätzliche Kriterien, wie z.B. Zeitraum(Encounter.period), Fallart (Encounter.class) oder Status (Encounter.status) berücksichtigt werden, um den korrekten Encounter zu finden.

+

ISiK berücksichtigt jedoch die gängige Praxis, dass die Fallnummer als primäres Suchkriterium verwendet wird; auch von Systemen, die rein der medizinischen Versorgung dienen und keine Abrechnungsfunktionen implementieren. +Um insbesondere Subsysteme von der Pflicht zu entbinden, die Account-Ressource zu implementieren, nur um Zugriff zur Fallnummer zu bekommen, ist das Mitführen des Account-Identifiers als logische Referenz auf den Account im Encounter verpflichtend. Die Fallnummer eines Encounters kann daher auch ohne Kenntnis des Accounts ermittelt werden.

+ + + + + + + + + + + + + +
HinweisÄnderung gegenüber ISiK-Basis-Modul Stufe 1!
Could not find subject. Project was not found for Material/Images/IG_Warning.
Die Abbildung der Fallnummer als Identifier des Accounts ist abweichend von der im Basismodul Stufe 1 festgelegten Abbildung der Fallnummer als Identifier des Encounters. Diese Änderung ist erforderlich, da die Fallnummer nicht geeignet ist, einen Encounter eindeutig zu identifizieren. Der Encounter kann weiterhin einen von der Abrechnungsfallnummer unabhänigen Identifier enthalten (z.B. "Aufnahmenummer", Bewegungsnummer). Dieser identifiziert eineindeutig den jeweiligen Kontakt.
+

+ +Encounter-Modell-Fallnummer +

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Profil.html new file mode 100644 index 00000000..e40bdf16 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-KontaktGesundheitseinrichtung-Kontakt_Profil.html @@ -0,0 +1,1449 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKKontaktGesundheitseinrichtunghttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung
+

idS Σ0..1System.String
url1..1System.StringFixed Value
valueCodingCoding
url1..1System.StringFixed Value
valueCodingCoding
url1..1System.StringFixed Value
valueCodingCoding
url1..1System.StringFixed Value
plannedStartDateS I0..1Extension(dateTime)
plannedEndDateS I0..1Extension(dateTime)
useΣ ?!0..1codeBinding
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
status1..1codeBinding
periodI1..1Period
classS Σ1..1CodingBinding
class1..1CodingBinding
periodI1..1Period
KontaktebeneS Σ1..1CodeableConceptBindingPattern
KontaktArtS Σ0..1CodeableConceptBindingPattern
FachabteilungsschluesselS Σ0..1CodingBindingPattern
ErweiterterFachabteilungsschluesselS Σ0..1CodingBindingPattern
textΣ0..1string
priority0..1CodeableConcept
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
episodeOfCareΣ I0..*Reference(EpisodeOfCare)
basedOnI0..*Reference(ServiceRequest)
typeΣ0..*CodeableConceptBinding
periodI0..1Period
individualΣ I0..1Reference(Practitioner | PractitionerRole | RelatedPerson)
appointmentΣ I0..*Reference(Appointment)
startS Σ I0..1dateTime
endS Σ I0..1dateTime
lengthI0..1Duration
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
DiagnosetypS Σ1..1CodingBinding
DiagnosesubTypS Σ0..*CodingBinding
textΣ0..1string
rankS0..1positiveInt
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayΣ0..1string
WahlleistungS I0..*Extension(Coding)
preAdmissionIdentifier0..1Identifier
originI0..1Reference(Location | Organization)
admitSourceS0..1CodeableConceptBinding
reAdmission0..1CodeableConcept
dietPreference0..*CodeableConcept
specialCourtesy0..*CodeableConceptBinding
specialArrangement0..*CodeableConceptBinding
destinationI0..1Reference(Location | Organization)
EntlassungsgrundS I0..1Extension(Complex)
codingΣ0..*Coding
textΣ0..1string
locationI1..1Reference(Location)
status0..1codeBinding
physicalType0..1CodeableConceptBinding
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
status0..1codeBinding
physicalTypeS1..1CodeableConceptPattern
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
status0..1codeBinding
physicalTypeS1..1CodeableConceptPattern
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
status0..1codeBinding
physicalTypeS1..1CodeableConceptPattern
periodI0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier
displayS Σ1..1string
partOfI0..1Reference(Encounter)

+

Bei Abbildung von Versorgungsstellenkontakten

+

Es ist ein üblicher Fall, dass die Dauer eines Versorgungsstellenkontaktes die eines Abteilungskontaktes übersteigt. Ein Beispiel hierfür: Ein Patient bleibt im Bett (Versorgungsstellenkontakt), aber ein Fachabteilungswechsel geschieht, da die Diagnose über eine Fachabteilung (Onkologie) läuft, dann aber der Wechsel zur Fachabteilung Chirurgie (neuer Abteilungskontakt) notwendig wird.

+

Für einen solchen Fall gilt:

+

Im Falle eines Fachabteilungswechsels legt ein System einen neuen Abteilungskontakt an. Bestehende Versorgungsstellenkontakt SOLLEN nicht in ihrer Relation (.partOf) zum Abteilungskontakt modifiziert werden. Hingegen SOLL das System einen oder mehrere Versorgungsstellenkontakte erzeugen und mit dem neu angelegten Abteilungskontakt in Verbindung setzen.

+

Hinweis: Ein Versorgungsstellenkontakt endet zugleich nicht notwendigerweise mit einem Fachabteilungswechsel.

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + + + + + + + +
keyseverityhumanexpression
ISiK-enc-1errorAbgeschlossene, ambulante Kontakte sollten einen Start-Zeitpunkt angebenstatus = 'finished' and class = 'AMB' implies period.start.exists()
ISiK-enc-2errorAbgeschlossene, stationäre Kontakte sollten einen Start- und End-Zeitpunkt angebenstatus = 'finished' and class = 'IMP' implies period.start.exists() and period.end.exists()
ISiK-enc-3errorGeplante Kontakte sollten keinen Start- oder End-Zeitpunkt angebenstatus = 'planned' implies period.exists().not()
ISiK-enc-4warningGeplante Kontakte sollten die Extensions für den geplanten Start- oder End-Zeitpunkt verwendenstatus = 'planned' implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate').exists()
ISiK-enc-5errorIn-Durchführung befindliche Kontakte sollten einen Start-Zeitpunkt angebenstatus = 'in-progress' implies period.start.exists()
ISiK-enc-6errorKontakte mit Abwesenheitsstatus sollten einen Start-Zeitpunkt angebenstatus = 'onleave' implies period.start.exists()
ISiK-enc-7warningKontakte mit unbekannten Status sollten einen Start-Zeitpunkt angebenstatus = 'unknown' implies period.start.exists()
ISiK-enc-8errorDie Rolle der assoziierten Diagnose(n) darf nicht 'Billing' seindiagnosis.use.all(coding.code != 'billing')
+

Weitere Hinweise zu den Abgrenzungen der Begrifflichkeiten Fall und Kontakt finden sie unter Deutsche Basisprofile - Abschnitt Ambulanter/stationärer Fall / Kontakt (Encounter).

+
+

Terminology Bindings

+ + + + + + + + + + +
PathNameStrengthURL
Encounter.statusEncounterStatusDerequiredhttp://fhir.de/ValueSet/EncounterStatusDe
Encounter.classEncounterClassDErequiredhttp://fhir.de/ValueSet/EncounterClassDE
Encounter.typekontaktebene-derequiredhttp://fhir.de/ValueSet/kontaktebene-de
Encounter.typekontaktart-derequiredhttp://fhir.de/ValueSet/kontaktart-de
Encounter.serviceType.codingdkgev/Fachabteilungsschluesselrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel
Encounter.serviceType.codingdkgev/Fachabteilungsschluessel-erweitertrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel-erweitert
Encounter.diagnosis.use.codingDiagnoseTyprequiredhttp://fhir.de/ValueSet/DiagnoseTyp
Encounter.diagnosis.use.codingDiagnosesubtyprequiredhttp://fhir.de/ValueSet/Diagnosesubtyp
Encounter.hospitalization.admitSourcedgkev/Aufnahmeanlassextensiblehttp://fhir.de/ValueSet/dgkev/Aufnahmeanlass
Encounter.location.physicalTypeISiKLocationPhysicalTypeextensiblehttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Motivation.html new file mode 100644 index 00000000..2ac3fd4a --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Motivation.html @@ -0,0 +1,276 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Die Landschaft informationstechnischer Systeme in Krankenhäusern ist enorm heterogen. Für die Patientenverwaltung und -abrechnung, die medizinische Dokumentation, die Laborverwaltung, die Blutbank bis hin zum Dokumentenarchiv werden verschiedene, auf das jeweilige Fachgebiet spezialisierte Systeme verwendet. Es besteht daher der Bedarf, diese Systeme über ihren Primärzweck hinaus sinnvoll zu integrieren. Ein Szenario ist beispielsweise die Abrechnung der im Krankenhaus erbrachten Leistungen. Aus den ursprünglich in verschiedenen Spezialsystemen erfassten Informationen werden die für die Abrechnung relevanten Informationen an ein Abrechnungssystem gesendet und dort zur Rechnungslegung weiterverarbeitet.

+

Herausforderungen stellen dabei die Vielzahl der Schnittstellen von informationstechnischen Systemen im Krankenhaus sowie zusätzliche Anforderungen für die Nutzung in mobilen Anwendungen dar. Durch die Festlegung und Verwendung von offenen und standardisierten Schnittstellen können diese Herausforderungen effizienter angenommen werden.

+

Im Folgenden leiten wir - die gematik GmbH - her, warum die bestehenden Integrationsansätze im Krankenhaus noch unzureichend sind und durch die im Bestätigungsverfahren „Interoperabler Datenaustausch durch Informationssysteme im Krankenhaus“ (ISiK) spezifizierten Ansätze ergänzt werden, um die Vielzahl sinnvoller Integrationsszenarien effizient abzudecken.

+

Reaktiver Datenaustausch im Krankenhaus

+

Der aktuell in Krankenhäusern vorherrschende Integrationsansatz nach dem Standard HL7 Version 2 (HL7v2) sieht vor, dass fachdomänenspezifische Systeme Nachrichten versenden, sobald für andere Systeme interessante Ereignisse eintreten. Bei Anlegen einer Diagnose in einem System für medizinische Dokumentation wird beispielsweise eine entsprechende Nachricht versendet, die vom Abrechnungssystem konsumiert und in der Rechnungslegung berücksichtigt wird. Für diesen Ansatz ist es nötig, dass die konsumierenden Systeme direkt auf die für sie passenden Nachrichten reagieren können. Leider werden dieselben Inhalte in verschiedenen Krankenhäusern oft unterschiedlich in HL7v2-Nachrichten kodiert. Darum wird häufig ein Kommunikationsserver verwendet, der die krankenhausspezifischen Nachrichten in ein Format übersetzt, dass die konsumierenden Systeme verarbeiten können. Erst wenn diese Übersetzung der HL7v2 Nachrichten eingerichtet ist, können Daten zwischen den Systemen ausgetauscht werden.

+

Daraus ergeben sich einige relevante Nachteile:

+
    +
  1. Es ist nur eine im Voraus definierte Datenverarbeitung möglich. Es müssen Verarbeitungsregeln im Kommunikationsserver festgelegt werden, die empfangene HL7v2-Nachrichten zur Weiterverarbeitung in ein geeignetes Format überführen.
  2. +
  3. Es können keine HL7v2-Nachrichten genutzt werden, die vor Aktivierung der Verarbeitungsregeln im Krankenhaus versandt wurden. Damit bleibt ein großer Teil der verfügbaren Daten des Krankenhauses ungenutzt.
  4. +
  5. Gerade große Krankenhäuser müssen tausende dieser Verarbeitungsregeln verwalten. Dies erschwert den Überblick und nicht mehr benötigte Regeln belasten den Kommunikationsserver.
  6. +
+

Daher hat der Gesetzgeber im Patientendaten-Schutzgesetz (PDSG) der gematik den Auftrag erteilt, offene und standardisierte Schnittstellen zu spezifizieren, die über den reaktiven Datenaustausch hinaus einen bedarfsgerechten Datenaustausch ermöglichen. Die Einhaltung dieser Spezifikation wird in dem ISiK Bestätigungsverfahren geprüft. Die Beschreibung des Bestätigungsverfahrens ist nicht Inhalt dieses Implementierungsleitfadens und wird im Fachportal der gematik erfolgen (https://fachportal.gematik.de/).

+

Bedarfsgerechter Datenaustausch im Krankenhaus

+

Um die oben skizzierten Nachteile zu vermeiden, wird in diesem Leitfaden ein bedarfsgerechter Datenaustausch im Krankenhaus spezifiziert. Benötigte Daten werden zum gewünschten Zeitpunkt im nötigen Umfang angefragt und zur Verfügung gestellt. So sind prinzipiell alle Daten eines Krankenhauses nutzbar, auch wenn sie lange vor dem Bedarf zur Nachnutzung erhoben wurden. Es müssen keine statischen Verarbeitungsregeln in einer Drittsoftware - dem Kommunikationsserver - verwaltet werden. Diese Art des bedarfsgerechten Datenaustausches wird in ISiK durch den internationalen HL7-Standard FHIR in seiner aktuellen Version R4 realisiert. Dabei folgt die Kommunikation dem Architekturstil Representational State Transfer - REST - auf dem auch wesentliche Teile der Kommunikation im Internet und mit mobilen Geräten im Besonderen basieren.

+

Anwendungsfälle und Interaktionen

+

Mit ISiK sollen eine Vielzahl digital unterstützter Anwendungsfälle im Krankenhaus realisiert werden. Dabei soll nicht die Vielfalt an möglichen Anwendungsfällen im Voraus komplett spezifiziert werden. Damit würde die Implementierung von ISiK durch zu enge und komplexe Vorgaben eher verhindert werden, gerade mit Blick auf zu erwartende zukünftige Anwendungsfälle. +Das Ziel von ISiK ist es, digitale Interaktionen in den Anwendungsfällen zu identifizieren, für die eine Standardisierung besonders wertstiftend ist. Wertstiftend sind Interaktionen, die bspw. viele Anwendungsfälle unterstützen oder in einem Anwendungsfall einen besonders aufwändigen manuellen Schritt automatisieren.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..29e63cab --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,292 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu Must-Support-Feldern

+

Patient.active

+

Bedeutung: Indikator "Patientdatensatz ist in aktiver Benutzung"

+

Hinweise: Siehe Beschreibung in der FHIR Kernspezifikation

+

Patient.identifier:versichertenId_GKV

+

Bedeutung: Versicherten ID der gesetzlichen Krankenkasse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.identifier:pid

+

Bedeutung: Organisationsinterner Patienten-Identifier

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.identifier:versicherungsnummer_pkv

+

Bedeutung: Versicherten Nr., falls versichert bei einer privaten Krankenkasse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.name:name

+

Bedeutung: Vollständiger Name

+

Hinweise: Wenn kein Name vorliegt, SOLLTE die data-absent-reasons-Extension eingesetzt werden. Siehe Beschreibung der Deutschen Basisprofile

+

Patient.name:geburtsname

+

Bedeutung: Geburtsname des Patienten (nur Nachname)

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.address:Strassenanschrift

+

Bedeutung: Straßenadresse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.address:Postfach

+

Bedeutung: Postfachadresse

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.gender

+

Bedeutung: Administratives Geschlecht

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Patient.birthdate

+

Bedeutung: Geburtsdatum

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Stornierung von Patienten

+

Im Rahmen des ISiK Basismoduls SOLLTE die Stornierung eines Patienten entweder durch das Löschen der Patienten-Ressource oder der Verwendung des Feldes Patient.active abgebildet werden. Dies ist abhängig davon, wie die Stornierung im bestätigungsrelevanten System umgesetzt ist. Im letzteren Fall wird die Stornierung durch das Setzen von Patient.active auf false gekennzeichnet.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Beispiele.html new file mode 100644 index 00000000..5ef0df72 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Beispiele.html @@ -0,0 +1,416 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel Patient:

+

{
+    "resourceType": "Patient",
+    "id": "PatientinMusterfrau",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient"
+        ]
+    },
+    "identifier":  [
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "MR",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "https://fhir.krankenhaus.example/sid/PID",
+            "value": "TestPID"
+        },
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "GKV",
+                        "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
+                    }
+                ]
+            },
+            "system": "http://fhir.de/sid/gkv/kvid-10",
+            "value": "A123456789"
+        },
+        {
+            "use": "secondary",
+            "type": {
+                "coding":  [
+                    {
+                        "code": "PKV",
+                        "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
+                    }
+                ]
+            },
+            "value": "1234567890",
+            "assigner": {
+                "display": "Test PKV AG"
+            }
+        }
+    ],
+    "name":  [
+        {
+            "use": "official",
+            "family": "Fürstin von Musterfrau",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://fhir.de/StructureDefinition/humanname-namenszusatz",
+                        "valueString": "Fürstin"
+                    },
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Musterfrau"
+                    },
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix",
+                        "valueString": "von"
+                    }
+                ]
+            },
+            "given":  [
+                "Erika"
+            ],
+            "prefix":  [
+                "Dr."
+            ],
+            "_prefix":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier",
+                            "valueCode": "AC"
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "use": "maiden",
+            "family": "Gabler",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Gabler"
+                    }
+                ]
+            }
+        }
+    ],
+    "active": true,
+    "gender": "female",
+    "birthDate": "1964-08-12",
+    "address":  [
+        {
+            "type": "both",
+            "line":  [
+                "Musterweg 2",
+                "3. Etage"
+            ],
+            "_line":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
+                            "valueString": "Musterweg"
+                        },
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
+                            "valueString": "2"
+                        }
+                    ]
+                },
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator",
+                            "valueString": "3. Etage"
+                        }
+                    ]
+                }
+            ],
+            "city": "Musterhausen",
+            "postalCode": "98764",
+            "country": "DE"
+        },
+        {
+            "type": "postal",
+            "line":  [
+                "Postfach 8 15"
+            ],
+            "_line":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox",
+                            "valueString": "Postfach 8 15"
+                        }
+                    ]
+                }
+            ],
+            "city": "Musterhausen",
+            "postalCode": "98764",
+            "country": "DE"
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Interaktionen.html new file mode 100644 index 00000000..bcdf3a5f --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Interaktionen.html @@ -0,0 +1,346 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Patient MUSS die REST-Interaktion "READ" implementiert werden.

+

Für die Ressource Patient KANN die REST-Interaktion "POST" implementiert werden. Diese Interaktion dient für die Vorabübermittelung von (unverifizierten und/oder unvollständigen) Patientenstammdaten.

+
    +
  • Das bestätigungsrelevante System SOLLTE die übermittelte Patient-Ressource löschen oder als inaktiv kennzeichnen, insoweit Geschäftsregeln oder andere Gründe dazu führen, dass die Patient-Ressource nicht permanent im System angelegt wird (z.B. keine Bestätigung durch die Anwender*in des Systems oder keine Aufnahme der Patient*in).
  • +
+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?identifier=http://fhir.krankenhaus.example|1032702

    +

    GET [base]/Patient?identifier=1032702

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  4. +
  5. Der Suchparameter "given" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?given=Erika

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name.given" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  6. +
  7. Der Suchparameter "family" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?family=Musterfrau

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name.family" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  8. +
  9. Der Suchparameter "birthdate" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?birthdate=1964-12-08

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.birthDate" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +
  10. +
  11. Der Suchparameter "gender" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?gender=female

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.gender" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  12. +
  13. Der Suchparameter "name" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?name=Erika

    +

    GET [base]/Patient?name=Musterfrau

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  14. +
  15. Der Suchparameter "address" KANN unterstützt werden:

    +

    Beispiele

    +

    GET [base]/Patient?address=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  16. +
  17. Der Suchparameter "address-city" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?address-city=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.city" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  18. +
  19. Der Suchparameter "address-country" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?address-country=DE

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.country" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  20. +
  21. Der Suchparameter "address-postalcode" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?address-postalcode=10117

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.address.postalCode" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  22. +
  23. Der Suchparameter "active" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?active=true

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.active" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  24. +
  25. Der Suchparameter "telecom" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Patient?telecom=phone|+49152236898

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Patient.telecom" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

    +
  26. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Kompatibilitaet.html new file mode 100644 index 00000000..25d2d057 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Kompatibilitaet.html @@ -0,0 +1,267 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität

+

Für das Profil ISIKPatient wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKPatient valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Motivation.html new file mode 100644 index 00000000..460d24d3 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Motivation.html @@ -0,0 +1,263 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Der Austausch administrativer Patientendaten ist eine der grundlegenden Funktionalitäten beim Datenaustausch in der klinischen Versorgung.

+

In FHIR werden sämtliche klinischen Ressourcen durch Verlinkung auf die Ressource 'Patient' in einen Patientenkontext gestellt.

+

Die Herstellung des korrekten Patientenkontextes durch Suchen der Patientenressource anhand von Eigenschaften wie Aufnahmenummer, Name oder Geburtsdatum, die Anzeige der zutreffenden Suchergebnisse und der Auswahl bzw. Bestätigung des richtigen Datensatzes durch den Anwender steht am Beginn der meisten klinischen Workflows.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Profil.html new file mode 100644 index 00000000..5eb82000 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Patient-Patient_Profil.html @@ -0,0 +1,1521 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

FHIR-Profil

+ +
NameCanonical
ISiKPatienthttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient
+
idS Σ0..1System.String
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useS Σ ?!0..1codeBindingFixed Value
typeS Σ1..1CodeableConceptBindingPattern
systemΣ0..1uri
valueS Σ1..1string
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayS Σ1..1string
activeS Σ ?!0..1boolean
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
givenS Σ1..*string
url1..1System.StringFixed Value
valueCodecode
suffixΣ0..*string
periodΣ I0..1Period
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
givenΣ0..0string
suffixΣ0..*string
periodΣ I0..1Period
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
Geschlecht-AdministrativS I0..1Extension(Coding)
url1..1System.StringFixed Value
valueCodecode
deceasedBooleanboolean
deceasedDateTimedateTime
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
maritalStatus0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
relationship0..*CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationI0..1Reference(Organization)
periodI0..1Period
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerI0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ I0..1Reference(Organization)
otherΣ I1..1Reference(Patient | RelatedPerson)
typeΣ1..1codeBinding
+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + + +
keyseverityhumanexpression
isik-pat-1errorFalls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werdengender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
address-cnt-2or3-charwarningThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..164b60d6 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,274 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support-Feldern

+

Practitioner.identifier:ANR

+

Bedeutung: Lebenslange Arztnummer. Im Krankenhaus ist die lebenslange Arztnummer der Ärzte bekannt und MUSS zur eindeutigen Identifikation eines Arztes bereitgestellt werden.

+

Hinweise: Siehe Beschreibung der Deutschen Basisprofile

+

Während die Deutschen Basisprofile hier die Abkürzung LANR verwenden, ist im KBV-Kontext das Akronym ANR gebräuchlich. Die Bezeichnung des Slices hat jedoch keinerlei Auswirkungen auf die Kompatibilität.

+

Practitioner.name:name

+

Bedeutung: Vollständiger Name. Der Name des Arztes MUSS in konkreten Anwendungen angezeigt werden können. Es MUSS nach dem Namen des Arztes gesucht werden können.

+

Practitioner.address:Strassenanschrift

+

Bedeutung: Straßenanschrift. Ist die Adresse bekannt, unter der ein Arzt erreichbar ist, MUSS sie bereitgestellt werden.

+

Practitioner.address:Postfach

+

Bedeutung: Postfachanschrift. Ist die Postfachadresse bekannt, unter der ein Arzt erreichbar ist, MUSS sie bereitgestellt werden.

+

Practitioner.gender

+

Bedeutung: Administratives Geschlecht. Ist das Geschlecht des Arztes bekannt, MUSS es bereitgestellt werden.

+

Practitioner.birthDate

+

Bedeutung: Geburtsdatum. Ist das Geburtsdatum des Arztes bekannt, MUSS es bereitgestellt werden.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Beispiele.html new file mode 100644 index 00000000..601e614e --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Beispiele.html @@ -0,0 +1,376 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel PersonImGesundheitsberuf:

+

{
+    "resourceType": "Practitioner",
+    "id": "PractitionerWalterArzt",
+    "meta": {
+        "source": "http://krankenhaus.de",
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf"
+        ]
+    },
+    "name":  [
+        {
+            "use": "official",
+            "text": "Walter Arzt",
+            "family": "Arzt",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Arzt"
+                    }
+                ]
+            },
+            "given":  [
+                "Walter"
+            ]
+        },
+        {
+            "use": "maiden",
+            "text": "Gross",
+            "family": "Gross",
+            "_family": {
+                "extension":  [
+                    {
+                        "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
+                        "valueString": "Gross"
+                    }
+                ]
+            }
+        }
+    ],
+    "identifier":  [
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "LANR",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR",
+            "value": "123456789"
+        },
+        {
+            "type": {
+                "coding":  [
+                    {
+                        "code": "DN",
+                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
+                    }
+                ]
+            },
+            "system": "http://fhir.de/sid/bundesaerztekammer/efn",
+            "value": "123456789123456"
+        }
+    ],
+    "active": true,
+    "address":  [
+        {
+            "type": "both",
+            "line":  [
+                "Schmiedegasse 16"
+            ],
+            "_line":  [
+                {
+                    "extension":  [
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
+                            "valueString": "16"
+                        },
+                        {
+                            "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
+                            "valueString": "Schmiedegasse"
+                        }
+                    ]
+                }
+            ],
+            "city": "Potsdam",
+            "postalCode": "14469",
+            "country": "DE"
+        }
+    ],
+    "gender": "male",
+    "qualification":  [
+        {
+            "code": {
+                "coding":  [
+                    {
+                        "version": "http://snomed.info/sct/900000000000207008/version/20200131",
+                        "code": "112247003",
+                        "system": "http://snomed.info/sct",
+                        "display": "Medical doctor (occupation)"
+                    }
+                ]
+            }
+        }
+    ],
+    "_birthDate": {
+        "extension":  [
+            {
+                "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
+                "valueCode": "masked"
+            }
+        ]
+    }
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Interaktionen.html new file mode 100644 index 00000000..3fa2a63b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Interaktionen.html @@ -0,0 +1,300 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Practitioner MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?_id=1234567890

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "identifier" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?identifier=42

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.identifier" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "given" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?given=Heidi

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.name.given" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  6. +
  7. Der Suchparameter "family" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?family=Alpenzauber

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.name.family" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  8. +
  9. Der Suchparameter "name" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?name=Heidi

    +

    GET [base]/Practitioner?name=Alpenzauber

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  10. +
  11. Der Suchparameter "address" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?address=Berlin

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.address" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  12. +
  13. Der Suchparameter "gender" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Practitioner?gender=female

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Practitioner.gender" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  14. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Kompatibilitaet.html new file mode 100644 index 00000000..d7601624 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Kompatibilitaet.html @@ -0,0 +1,266 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität

+

Für das Profil ISIKPersonImGesundheitsberuf wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKPatient valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Motivation.html new file mode 100644 index 00000000..00cc7390 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Motivation.html @@ -0,0 +1,262 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

PersonImGesundheitsberuf können alle denkbaren medizinischen Fachexperten sein, ohne eine Rolle zu spielen. In den ISiK-FHIR-Profilen können PersonImGesundheitsberuf bspw. als Ausführende einer Prozedur auftreten, im Element performer der Procedure Ressource, oder als die Person, die eine Diagnose stellt, im Element asserter der Condition Ressource.

+

In FHIR werden PersonImGesundheitsberuf mit der Practitioner-Ressource repräsentiert.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Profil.html new file mode 100644 index 00000000..d58c136b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-PersonImGesundheitsberuf-PersonImGesundheitsberuf_Profil.html @@ -0,0 +1,1453 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+

idS Σ0..1System.String
useΣ ?!0..1codeBindingFixed Value
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uriFixed Value
valueΣ I1..1string
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ1..1string
useΣ ?!0..1codeBindingFixed Value
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ1..1string
useΣ ?!0..1codeBinding
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ0..1boolean
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzI0..1Extension(string)
nachnameI0..1Extension(string)
vorsatzwortI0..1Extension(string)
givenS Σ1..*string
prefix-qualifierI0..*Extension(code)
suffixΣ0..*string
periodΣ I0..1Period
useS Σ ?!1..1codeBindingFixed Value
textΣ0..1string
namenszusatzI0..1Extension(string)
nachnameI0..1Extension(string)
vorsatzwortI0..1Extension(string)
givenΣ0..0string
suffixΣ0..*string
periodΣ I0..1Period
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
StadtteilS I0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ1..1codeBindingFixed Value
textΣ0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
cityS Σ1..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ1..1string
countryS Σ1..1stringBinding
startΣ I0..1dateTime
endΣ I0..1dateTime
extensionI0..0Extension
url1..1System.StringFixed Value
valueCodingCoding
Data-Absent-ReasonS I0..1Extension(code)
photoI0..*Attachment
identifier0..*Identifier
code1..1CodeableConcept
periodI0..1Period
issuerI0..1Reference(Organization)
communication0..*CodeableConceptBinding

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ +
keyseverityhumanexpression
prac-de-1errorDie amtliche Differenzierung der Geschlechtsangabe 'other' darf nur gefüllt sein, wenn das Geschlecht 'other' angegeben istgender='other' or gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').empty()
+
+

Terminology Bindings

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..5940ec3c --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,279 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support Feldern

+

Procedure.extension:recordedDate

+

Bedeutung: +Das Dokumentationsdatum der Prozedur MUSS zu Qualitätssicherungszwecken angegeben werden. Dies ist das fachliche Dokumentationsdatum, nicht zu verwechseln mit der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.

+

Procedure.status

+

Bedeutung: +Kodierter klinischer Status der Prozedur. MUSS angegeben werden, da die Interpretation der Prozedur davon abhängt, ob diese 'completed' ist oder einen anderen Status aufweist. Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "completed" und "unknown". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

Procedure.category

+

Bedeutung: +Zur groben Kategorisierung MUSS eine Kodierung auf Basis der OPS-Klassencodes erfolgen. Eine ConceptMap für das Mapping von OPS-Kodes -> Kategorie findet sich in den Deutschen Basisprofilen - Implementierungsleitfaden Abschnitt Terminologien. Die Angabe der Kategeorie MUSS nur für OPS-kodierte Prozeduren erfolgen.

+

Procedure.code.coding

+

Bedeutung: Codierte Prozedur. Entweder kodiert per OPS oder SNOMED CT. Bei der Kodierung per SNOMED CT ist das ValueSet ProzedurenCodesSCT zu beachten.

+

Procedure.code.text

+

Bedeutung: Freitext-Beschreibung der Prozedur

+

Procedure.performed

+

Bedeutung: Zur zeitlichen Einordnung der Prozedur KANN das Durchführungsdatum der Prozedur dokumentiert werden. Mindestens MUSS der Beginn der Prozedur dokumentiert werden, das Ende KANN implementiert werden.

+

Procedure.subject

+

Bedeutung: Ein Patientenbezug der Prozedur MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen.

+

Procedure.note

+

Bedeutung: Weitere optionale Freitext-Notizen bezogen auf die durchgeführte Prozedur.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Beispiele.html new file mode 100644 index 00000000..eea209f4 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Beispiele.html @@ -0,0 +1,310 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel Prozedur:

+

{
+    "resourceType": "Procedure",
+    "id": "Appendektomie",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur"
+        ]
+    },
+    "extension":  [
+        {
+            "url": "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum",
+            "valueDateTime": "2020-04-23"
+        }
+    ],
+    "status": "completed",
+    "category": {
+        "coding":  [
+            {
+                "code": "387713003",
+                "system": "http://snomed.info/sct",
+                "display": "Surgical procedure (procedure)"
+            }
+        ]
+    },
+    "code": {
+        "coding":  [
+            {
+                "code": "80146002",
+                "system": "http://snomed.info/sct",
+                "display": "Excision of appendix (procedure)"
+            },
+            {
+                "version": "2020",
+                "code": "5-470",
+                "system": "http://fhir.de/CodeSystem/bfarm/ops",
+                "display": "Appendektomie"
+            }
+        ],
+        "text": "Entfernung des Blinddarms"
+    },
+    "subject": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "performedDateTime": "2020-04-23",
+    "note":  [
+        {
+            "text": "Testnotiz"
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Interaktionen.html new file mode 100644 index 00000000..e7cb3de3 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Interaktionen.html @@ -0,0 +1,306 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Procedure MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?_id=test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?status=http://hl7.org/fhir/event-status|entered-in-error

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "category" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?category=http://snomed.info/sct|387713003

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.category" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "code" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?code=http://fhir.de/CodeSystem/bfarm/ops|5-470

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.code" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  8. +
  9. Der Suchparameter "subject" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?subject=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Procedure.subject" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  10. +
  11. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "patient" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  12. +
  13. Der Suchparameter "encounter" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?encounter=Encounter/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "encounter" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  14. +
  15. Der Suchparameter "date" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Procedure?date=lt2020-26-10

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "date" finden sich in der FHIR-Basisspezifikation - Abschnitt "Date Search".

    +

    Dieser Suchparameter ist für die Umsetzung des IHE QEDm Profils verpflichtend.

    +
  16. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Kompatibilitaet.html new file mode 100644 index 00000000..6b4a3165 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Kompatibilitaet.html @@ -0,0 +1,265 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität

+

Für das Profil ISIKProzedur wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKProzedur valide sind, auch valide sind gegen:

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Motivation.html new file mode 100644 index 00000000..1840d45a --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Motivation.html @@ -0,0 +1,264 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

Die Möglichkeit auf eine Übersicht der Prozeduren eines Patienten zuzugreifen, Patienten anhand durchgeführter oder geplanter Prozeduren zu suchen, oder zu prüfen, ob eine konkrete Prozedur bei einem Patienten durchgeführt wurde, sind wichtige Funktionen im klinischen Behandlungsablauf.

+

In FHIR werden Prozeduren mit der Procedure-Ressource repräsentiert.

+

Da die Prozeduren in klinischen Primärsystemen, in der Regel, in OPS-codierter Form vorliegen, fordert ISiK in erster Linie diese Form des Austausches. +Falls eine Prozedur zwar dokumentiert aber noch nicht codiert wurde (z.B. wenn die Kodierung erst nach der Entlassung erfolgt), ist alternativ eine Repräsentation als Freitext-Prozedur möglich.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Profil.html new file mode 100644 index 00000000..ad7e28f2 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Prozedur-Prozedur_Profil.html @@ -0,0 +1,918 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+ +
NameCanonical
ISiKProzedurhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur
+

idS Σ0..1System.String
DokumentationsdatumS I0..1Extension(dateTime)
identifierΣ0..*Identifier
instantiatesCanonicalΣ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | ServiceRequest)
partOfΣ I0..*Reference(Procedure | Observation | MedicationAdministration)
statusS Σ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
SeitenlokalisationS I0..1Extension(Coding)
systemS Σ1..1uriFixed Value
versionS Σ1..1string
codeS Σ I1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemS Σ1..1uriPattern
versionΣ0..1string
codeS Σ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterS Σ I0..1Reference(Encounter)
performedDateTimedateTime
performedPeriodPeriod
recorderΣ I0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)
asserterΣ I0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)
functionΣ0..1CodeableConcept
actorΣ I1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
onBehalfOfI0..1Reference(Organization)
locationΣ I0..1Reference(Location)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ I0..*Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference)
bodySiteΣ0..*CodeableConcept
outcomeΣ0..1CodeableConcept
reportI0..*Reference(DiagnosticReport | DocumentReference | Composition)
complication0..*CodeableConcept
complicationDetailI0..*Reference(Condition)
followUp0..*CodeableConcept
noteS0..*Annotation
action0..1CodeableConceptBinding
manipulatedI1..1Reference(Device)
usedReferenceI0..*Reference(Device | Medication | Substance)
usedCode0..*CodeableConcept

+
+

Constraints

+

Folgende FHIRPath-Constraints sind im Profil zu beachten:

+ + + + +
keyseverityhumanexpression
proc-ISiK-1errorFalls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werdencode.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()
proc-ISiK-2errorFalls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werdencode.coding.exists() implies category.coding.exists()
sct-ops-1errorFalls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. Liegt die Prozedur nicht kodiert vor SOLL Freitext angegeben werden.coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()
proc-ISiK-3errorEntweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.coding.exists().not() implies text.exists()
+
+

Terminology Bindings

+ + + +
PathNameStrengthURL
Procedure.category.codingProzedurenKategorieSCTpreferredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenKategorieSCT
Procedure.code.codingbfarm/opsrequiredhttp://fhir.de/ValueSet/bfarm/ops
Procedure.code.codingProzedurenCodesSCTrequiredhttps://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenCodesSCT
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ReleaseNotes.html b/IG/3.0.4/ImplementationGuide-markdown-ReleaseNotes.html new file mode 100644 index 00000000..b1a06dfc --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ReleaseNotes.html @@ -0,0 +1,599 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Release Notes

+

Im Rahmen der ISiK-Veröffentlichungen wird das Semantic Versioning verwendet.

+

Die erste Ziffer X bezeichnet ein Major-Release und regelt die Gültigkeit von Releases. Die dritte Ziffer Y (Release x.0.y) bezeichnet eine technische Korrektur und versioniert kleinere Änderungen (Packages) während eines Jahres, z. B. 1.0.1.

+

Version: 3.0.4

+

Datum: 1.3.2024

+ +
+

Version: 3.0.3

+

Datum: 15.01.2024

+ +

Full Changelog: https://github.com/gematik/spec-ISiK-Basismodul/compare/v.3.0.2...v.3.0.3

+
+

Version: 3.0.2

+

Datum: 09.01.2024

+ +

Full Changelog: https://github.com/gematik/spec-ISiK-Basismodul/compare/v.3.0.1...v.3.0.2

+
+

Version: 3.0.1

+

Datum: 05.12.2023

+ +

Full Changelog: https://github.com/gematik/spec-ISiK-Basismodul/compare/v.3.0.0...v.3.0.1

+
+

Version: 3.0.0

+

Datum: 01.07.2023

+
    +
  • Mit dem Release der Stufe 3.0.0 werden die unten gelisteten Änderungen normativ festgesetzt.
  • +
+
+

Version: 3.0.0-rc3

+

Datum: 30.05.2023

+ +
+

Version: 3.0.0-rc2

+

Datum: 03.04.2023

+
    +
  • KontaktGesundheitseinrichtung: SearchParameter aus FHIR-R5 für Encounter.period als Custom SearchParameter eingeführt, um die effektive Suche auf Encounter ohne abgeschlossene "period" zu ermöglichen + +
  • +
+
+

Version: 3.0.0-rc1

+

Datum: 31.03.2023

+ +

Full Changelog: https://github.com/gematik/spec-ISiK-Basismodul/compare/master-isik-stufe-2...main-isik-stufe-3-rc

+
+

Version: 2.0.5

+

Datum: 24.03.2023

+
    +
  • Änderungen am IG +
      +
    • Hinweis Inkompatibilität zu KBV Basisprofile bei Patient.Adress.country
    • +
    • Einschränkung der Umsetzungspflicht für Suchparameter vom Typ "Token" auf Datentypen "code", "Coding" oder "CodeableConcept"
    • +
    +
  • +
  • ISiKBerichtBundle + +
  • +
  • ISiKPatient (Beispiel - erfordert keine Anpassung von Seiten der Implementierung) +
      +
    • Fixed identifier-Slicing of Type VersichertenId-GKV
    • +
    +
  • +
+
+

Version: 2.0.4

+

Datum: 31.01.2023

+
    +
  • ISiKVersicherungsverhaeltnisGesetzlich +
      +
    • Reference auf Kernspezifikation-Profil RelatedPerson statt ISiKAngehoeriger (entspricht allgemeinem Design-Prinzip)
    • +
    • Coverage.beneficiary.identifier URL in patternidentifier.system ersetzt
    • +
    +
  • +
  • weitere Änderungen an Implementierungsleitfaeden (informativ)
  • +
+
+

Version: 2.0.3

+

Datum: 21.12.2022

+
    +
  • CapabilityStatemtent +
      +
    • Composition und Bundle-Parameter hinzugefügt
    • +
    +
  • +
  • ISiKBerichtSubsystem +
      +
    • encounter auf FHIR-Core gesetzt
    • +
    +
  • +
  • ISiKBerichtBundle +
      +
    • Beispiele hinzugefügt
    • +
    +
  • +
  • Weitere geringfügige Änderungen am Implementierungsleitfaden
  • +
+
+

Version: 2.0.2

+

Datum: 31.10.2022

+
    +
  • Bericht für Subsysteme +
      +
    • id ist nun 0..1
    • +
    +
  • +
  • Kontakt +
      +
    • id ist nun 0..1
    • +
    +
  • +
  • Patient +
      +
    • id ist nun 0..1
    • +
    • Der Identifier Versichertennummer-GKV wurde zu VersichertenId-GKV
    • +
    +
  • +
  • Prozedur +
      +
    • id ist nun 0..1
    • +
    +
  • +
  • Versicherungeverhältnis Gesetzlich +
      +
    • id ist nun 0..1
    • +
    • type.coding ist nun Must Support
    • +
    • VersicherungsArtDeBasis ist nun Must Support
    • +
    +
  • +
  • Invarianten wurden verbessert
  • +
+
+

Version: 2.0.1

+

Datum: 30.09.2022

+
    +
  • ISiKPatient: +
      +
    • .address.Strassenanschrift.extension:Stadtteil, .type, .status nun Must Support
    • +
    +
  • +
  • ISiKPersonImGesundheitsberuf: +
      +
    • .address.Strassenanschrift.extension:Stadtteil, nun Must Support
    • +
    +
  • +
  • ISiKAngehöriger: +
      +
    • .address.Strassenanschrift.extension:Stadtteil, nun Must Support
    • +
    +
  • +
  • ISiKAbrechnungsfall + +
  • +
  • ISiKKontaktGesundheitseinrichtung + +
  • +
  • ISiKVersicherungsverhaeltnisGesetzlich +
      +
    • .type ist nun Must Support
    • +
    +
  • +
  • ISiKVersicherungsverhaeltnisSelbstzahler +
      +
    • .type und .status ist nun Must Support
    • +
    +
  • +
+
+

Version: 2.0.0

+

Datum: 30.06.2022

+
    +
  • Allgemein: +
      +
    • Alle Conformance Ressourcen enthalten den Prefix "https://gematik.de/fhir/isik/v2/Basismodul/" in ihrer Canonical URL
    • +
    • Erweiterung des Abschnittes "Verpflichtende Suchparameter (Alle Datenobjekte)" durch _tag, , _count, _include, _revinclude
    • +
    • Best Practice Empfehlungen für Standard-Suchfilter hinzugefügt
    • +
    • Verpflichtung :type-Modifier auf Referenzen hinzugefügt
    • +
    • Aufhebung der Einschränkung von Chaining und Reverse Chaining auf die Referenzen "patient", "subject" und "encounter"
    • +
    • Anpassung der Vorgaben für den "Self"-Link als Antwort auf eine Suchanfrage.
    • +
    +
  • +
  • Neue Profile hinzugefügt: +
      +
    • ISiKAbrechnungsfall
    • +
    • ISiKBerichtBundle
    • +
    • ISiKBinary
    • +
    • ISiKCodeSystem
    • +
    • ISiKValueSet
    • +
    +
  • +
  • ISiKAngehöriger: +
      +
    • Target Profil Einschränkung auf ISiKPatient in RelatedPerson.patient aufgehoben
    • +
    +
  • +
  • ISiKBerichtSubsystem: +
      +
    • Must-Support Flags hinzugefügt
    • +
    +
  • +
  • ISiKDiagnose: +
      +
    • Beschreibung von "isik-con1"-Constraint korrigiert
    • +
    • Must Support Flag für Extension "related" hinzugefügt
    • +
    +
  • +
  • ISiKPatient: +
      +
    • Umbenennung Slice von "Patient.identifier:Versichertennummer-GKV in "Patient.identifier:VersichertenId-GKV"
    • +
    +
  • +
  • ISiKPersonImGesundheitsberuf: +
      +
    • Element "Practitioner.identifier:TelematikId" hinzugefügt (must-support)
    • +
    +
  • +
  • ISiKVersicherungsverhaeltnisGesetzlich: +
      +
    • Must-Support Flag auf "Coverage.payor.identifier.type" hinzugefügt
    • +
    +
  • +
  • ISiKKontaktGesundheitseinrichtung +
      +
    • Constraints ISiK-enc-2 bis ISiK-enc-8 hinzugefügt
    • +
    • Extensions plannedStartDate, plannedEndDate und Wahlleistung hinzugefügt
    • +
    • Änderung Kardinalität von Element "Encounter.identifier:Aufnahmenummer.type" auf 1..1
    • +
    • Änderung Kardinalität von Element "Encounter.type:Kontaktebene" auf 1..1
    • +
    • Element "Encounter.serviceType.coding:ErweiterterFachabteilungsschluessel" hinzugefügt
    • +
    • Änderung Kardinalität von "Encounter.period" von 1..1 auf 0..1
    • +
    • Element "Encounter.diagnosis.use.coding:Diagnosetyp" und "Encounter.diagnosis.use.coding:DiagnosesubTyp" hinzugefügt
    • +
    • Must-Support Flag auf Element "Encounter.account" hinzugefügt
    • +
    • Änderung der Binding-Strength des Elementes "Encounter.hospitalization.admitSource" von "preferred" auf "extensible"
    • +
    • Extensible ValueSet zu Element "Encounter.location.physicalType" hinzugefügt
    • +
    • Anstelle von "Encounter.location.location.display" ist nun "Encounter.serviceProvider.identifier" zu verwenden
    • +
    • Must-Support-Flag entfernt auf Element "Encounter.partOf"
    • +
    +
  • +
+
+

Version: 2.0.0-ballot

+

Datum: 08.04.2022

+
    +
  • Initiale Ballotierungsversion für ISiK Stufe 2
  • +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation.html new file mode 100644 index 00000000..e30e3c88 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation.html @@ -0,0 +1,366 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +

Kompatibilität der gematik-Spezifikation

+

+ + +
+

Kompatibilität zu IHE-Profilen

+

Die ISiK-Spezifikationen werden basierend auf folgenden IHE-Profilen entwickelt:

+ +

künftige Ausbaustufen werden auch die Profile

+ +

berücksichtigen.

+

Hierbei ist anzumerken, dass der Zusatz "for mobile" seitens IHE irreführend sein kann. +Konkret fasst IHE unter diesem Begriff nicht nur Systeme zusammen, die "Plattform- und Ressourcenbeschränkt sind, wie z.B. Tablets, Smartphones und Embedded Devices, sondern auch größere Systeme in Umgebungen, in denen die Interoperabilitätsanforderungen einfach sind (z.B. Anzeige der aktuellen Übersicht eines Patienten)" (Quelle: IHE QEDm - Introduction)

+

Die im Folgenden genannten IHE-Spezifikationen beschreiben lediglich Interaktionen zwischen den Systemen und machen verbindliche Vorgaben zum Ablauf, Format und zu den unterstützten Such-Parametern, jedoch keine inhaltlichen Vorgaben. So beschreibt PDQm beispielsweise den Ablauf einer Suche nach Patientendaten, enthält aber keine Vereinbarungen, wie die zurückgelieferte Patientenressource konkret auszusehen hat (Pflichtfelder, Terminologien, Constraints).

+

Der Mehrwert der ISiK-Spezifikation besteht darin, dass die genannten IHE-Interaktionen um Festlegungen zu den auszutauschenden Inhalten ergänzt werden, die zugeschnitten sind auf die Anforderungen des Datenaustausches zwischen Systemen innerhalb einer Einrichtung, basierend auf den Deutschen Basisprofilen von HL7 Deutschland e.V. und abgeglichen mit den Festlegungen der KBV zu den Inhalten der elektronischen Patientenakte (MIOs) sowie den Spezifikationen der Medizininformatik-Initiative.

+

Die Darstellungen der in diesen IHE-Profilen festgelegten Interaktionen und UseCases sind den oben verlinkten Dokumenten zu entnehmen.

+

IHE PDQm

+

Umfang

+

PDQm unterstützt das Abfragen von demografischen Patientendaten. +Damit fällt dieser Anwendungsfall vollständig in den Umfang der Festlegungen von ISiK.

+

Akteure

+

PDQm definiert die Kommunikation zwischen zwei Akteuren:

+
    +
  1. dem Patient Demographics Consumer und
  2. +
  3. dem Patient Demographics Supplier
  4. +
+

Im ISiK Kontext nehmen die bestätigungsrelevanten Systeme die Rolle des Patient Demographics Supplier ein. +Die Pediatric Demographics Option liegt außerhalb des Abdeckungsbereiches von ISiK.

+

Transaktionen

+

PDQm definiert die Transaktion ITI-78 (Mobile Patient Demographics Query), deren Grundlagen identisch sind mit den in ISiK definierten Interaktionen auf dem Datenobjekt "Patient". +Der Unterschied zwischen PDQm und ISiK besteht lediglich darin, dass ISiK nicht alle in PDQm spezifizierten Suchparameter zwingend erfordert. +Suchparameter, die in PDQm obligatorisch sind, in ISiK jedoch optional, sind in diesem Leitfaden mit einem entsprechenden Hinweis versehen.

+

IHE QEDm

+

Umfang

+

QEDm unterstützt das Abfragen klinischer Informationen wie zum Beispiel Diagnosen, Beobachtungen (u.a. Vitalparameter), Messdaten und Allergien unter Verwendung des FHIR-Standards. +Damit überlappt der Anwendungsfall von QEDm in großen Teilen mit den Festlegungen von ISiK.

+

Akteure

+

QEDm definiert die Kommunikation zwischen zwei Akteuren:

+
    +
  1. dem Clinical Data Consumer und
  2. +
  3. der Clinical Data Source
  4. +
+

Im ISiK Kontext nehmen die bestätigungsrelevanten Systeme die Rolle der Clinical Data Source mit folgenden Optionen ein:

+
    +
  • Conditions Option
  • +
  • Procedures Option
  • +
  • Encounters Option
  • +
+

Alle weiteren Optionen liegen außerhalb des Abdeckungsbereiches von ISiK in Hinblick auf den Scope der aktuellen Veröffentlichung.

+

Die Aufgabe der Clinical Data Source liegt in der Beantwortung der Anfragen nach Informationen durch die Rückgabe von FHIR-Ressourcen, die den gegebenen Suchparametern entsprechen.

+

Transaktionen

+

QEDm definiert die Transaktion PCC-44 (Mobile Query for Existing Data), deren Grundlagen identisch sind mit den in ISiK definierten Interaktionen auf den Datenobjekten "Diagnose" "Prozedur" und "Kontakt/Fall". +Der Unterschied zwischen QEDm und ISiK besteht lediglich darin, dass ISiK über die Vorgaben von PDQm hinaus die Implementierung weiterer Suchparameter fordert.

+

So beschränkt sich QEDm zum Beispiel auf die Encounter-Suchparameter patient und date, während ISiK auch die Suche nach der Fallnummer (identifier) und weiteren, für die einrichtungsinterne Kommunikation relevanten Kriterien unterstützt.

+

Abweichungen

+

Hersteller, die die ISiK-Vorgaben implementiert haben, können erwarten, dass ihre Systeme damit die Anforderungen von QEDm im Rahmen der oben genannten Optionen sowie PDQm vollständig erfüllen.

+

Sollten sich Abweichungen ergeben in dem Sinne, dass Hersteller, die ISiK implementiert und erfolgreich bestätigt haben zusätzliche Funktionen implementieren müssen, um QEDm- bzw. PDQm-konform zu sein, so werden diese hier aufgelistet:

+
    +
  • PDQm fordert die Implementierung des Suchparameters address-state. Dieser ist nicht Bestandteil der ISiK-Spezifikation
  • +
  • IHE fordert von Clinical Data Source- sowie Patient Demographic Supplier-Akteuren die Implementierung der Spezifikationen ATNA Secure Node oder ATNA Secure Application. Diese sind nicht Bestandteil des ISiK-Bestätigungsverfahrens.
  • +
+ +
+
+

Kompatibilität zu anderen nationalen FHIR-basierten Spezifikationen

+

Grundlage des ISiK-Leitfadens sind in Deutschland bereits abgestimmte und erprobte Profile, unter anderem:

+ +

Dennoch erstellt die gematik für die Durchführung des Verfahrens eigene, technisch unabhängige Profile. Dabei wird jedoch stets sichergestellt, dass Instanzen, die gegen gematik-Profile valide sind, ebenfalls gegen die zugrunde gelegten Profile valide sind. Ist dies ausnahmsweise nicht der Fall, dann enthalten die Profile der gematik einen entsprechenden Hinweis mit einer Begründung, warum von dem Profil abgewichen wurde bzw. eine Information darüber, welche Schritte notwendig sind, um die Kompatibilität herzustellen. Dies kann beispielsweise die zusätzliche Implementierung weiterer Elemente sein, die nicht Bestandteil des ISiK-Bestätigungsverfahrens sind, für die Erfüllung des zugrundeliegenden Profils jedoch notwendig sind. Bei der Betrachtung der Kompatibilität wird stets von Implementierungen ausgegangen, die exakt die Minimalanforderungen (Pflichtfelder, Must-Support-Felder) der gematik-Spezifikation umsetzen. Weiterhin ist die Betrachtung auf harte Inkompatibilitäten begrenzt, d.h. widersprüchliche Kardinalitäten oder abweichende Kodierungen. Auf ggf. abweichende Must-Support-Felder mit optionaler Kardinalität, die zu keiner technischen Inkompatibilität führen, wird nicht explizit hingewiesen.

+

Die Hinweise zur Kompatibilität sind jeweils im Unterkapitel "Kompatibilität" der einzelnen Datenobjekte zu finden.

+

Wichtig: Inkompatibilitäten, die sich dadurch ergeben, dass die KBV-Basisprofile und die Formularübergreifenden Vorgaben für Digitale Muster noch eine ältere Fassung der Deutschen Basisprofile (<1.0) verwenden, werden bei der Betrachtung der Kompatibilitäten nicht gesondert aufgeführt. Hierzu verweisen wir auf die Releasenotes der Deutschen Basisprofile. Ein Update dieser Profile auf die Version 1.0 ist seitens der KBV avisiert, zum Zeitpunkt der Veröffentlichung konnte jedoch noch kein konkreter Termin genannt werden.

+

Das Erfordernis der Erstellung eigener, unabhängiger Profile für ISiK ergibt sich aus folgenden Gründen:

+
    +
  1. Technische Gründe: Im Rahmen von Connectathons können kurzfristige Bugfixes erforderlich werden, die von der gematik umsetzbar sein müssen, ohne auf einen Beschluss/ein Update seitens der MI-Initiative oder der KBV warten zu müssen.
  2. +
  3. Tooling: Das von der gematik verwendete Tooling für die Bestätigung kann es erforderlich machen, dass Profile mit zusätzlichen Attributen/Extensions versehen werden müssen, die seitens anderer Organisationen nicht benötigt werden.
  4. +
  5. Darstellung: Für die Teilnehmer am Bestätigungsverfahren soll auf einen Blick erkennbar sein, welche Elemente der Profile für die Bestätigung relevant sind. Um dies zu vereinfachen, setzt die gematik sog. "Must-Support"-Flags ein, um die relevanten Merkmale hervorzuheben. Die Bedeutung des Must-Support-Flags und der Umfang der entsprechend markierten Elemente kann in anderen Szenarien abweichen. Da es sich beim Must-Support-Flags jedoch um rein informative Attribute handelt, deren Einhaltung im Rahmen der Validierung nicht maschinell überprüft werden kann, hat dies keinen Einfluss auf die Kompatibilität. Slices und Extensions, die in den zugrundeliegenden Profilen optional und nicht Bestandteil des Bestätigungsverfahrens sind, können in den gematik-Profilen weggelassen werden, um die Lesbarkeit zu verbessern. Auch diese haben keine Auswirkungen auf die Kompatibilität.
  6. +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation_Andere.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation_Andere.html new file mode 100644 index 00000000..dd51f158 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation_Andere.html @@ -0,0 +1,286 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität zu anderen nationalen FHIR-basierten Spezifikationen

+

Grundlage des ISiK-Leitfadens sind in Deutschland bereits abgestimmte und erprobte Profile, unter anderem:

+ +

Dennoch erstellt die gematik für die Durchführung des Verfahrens eigene, technisch unabhängige Profile. Dabei wird jedoch stets sichergestellt, dass Instanzen, die gegen gematik-Profile valide sind, ebenfalls gegen die zugrunde gelegten Profile valide sind. Ist dies ausnahmsweise nicht der Fall, dann enthalten die Profile der gematik einen entsprechenden Hinweis mit einer Begründung, warum von dem Profil abgewichen wurde bzw. eine Information darüber, welche Schritte notwendig sind, um die Kompatibilität herzustellen. Dies kann beispielsweise die zusätzliche Implementierung weiterer Elemente sein, die nicht Bestandteil des ISiK-Bestätigungsverfahrens sind, für die Erfüllung des zugrundeliegenden Profils jedoch notwendig sind. Bei der Betrachtung der Kompatibilität wird stets von Implementierungen ausgegangen, die exakt die Minimalanforderungen (Pflichtfelder, Must-Support-Felder) der gematik-Spezifikation umsetzen. Weiterhin ist die Betrachtung auf harte Inkompatibilitäten begrenzt, d.h. widersprüchliche Kardinalitäten oder abweichende Kodierungen. Auf ggf. abweichende Must-Support-Felder mit optionaler Kardinalität, die zu keiner technischen Inkompatibilität führen, wird nicht explizit hingewiesen.

+

Die Hinweise zur Kompatibilität sind jeweils im Unterkapitel "Kompatibilität" der einzelnen Datenobjekte zu finden.

+

Wichtig: Inkompatibilitäten, die sich dadurch ergeben, dass die KBV-Basisprofile und die Formularübergreifenden Vorgaben für Digitale Muster noch eine ältere Fassung der Deutschen Basisprofile (<1.0) verwenden, werden bei der Betrachtung der Kompatibilitäten nicht gesondert aufgeführt. Hierzu verweisen wir auf die Releasenotes der Deutschen Basisprofile. Ein Update dieser Profile auf die Version 1.0 ist seitens der KBV avisiert, zum Zeitpunkt der Veröffentlichung konnte jedoch noch kein konkreter Termin genannt werden.

+

Das Erfordernis der Erstellung eigener, unabhängiger Profile für ISiK ergibt sich aus folgenden Gründen:

+
    +
  1. Technische Gründe: Im Rahmen von Connectathons können kurzfristige Bugfixes erforderlich werden, die von der gematik umsetzbar sein müssen, ohne auf einen Beschluss/ein Update seitens der MI-Initiative oder der KBV warten zu müssen.
  2. +
  3. Tooling: Das von der gematik verwendete Tooling für die Bestätigung kann es erforderlich machen, dass Profile mit zusätzlichen Attributen/Extensions versehen werden müssen, die seitens anderer Organisationen nicht benötigt werden.
  4. +
  5. Darstellung: Für die Teilnehmer am Bestätigungsverfahren soll auf einen Blick erkennbar sein, welche Elemente der Profile für die Bestätigung relevant sind. Um dies zu vereinfachen, setzt die gematik sog. "Must-Support"-Flags ein, um die relevanten Merkmale hervorzuheben. Die Bedeutung des Must-Support-Flags und der Umfang der entsprechend markierten Elemente kann in anderen Szenarien abweichen. Da es sich beim Must-Support-Flags jedoch um rein informative Attribute handelt, deren Einhaltung im Rahmen der Validierung nicht maschinell überprüft werden kann, hat dies keinen Einfluss auf die Kompatibilität. Slices und Extensions, die in den zugrundeliegenden Profilen optional und nicht Bestandteil des Bestätigungsverfahrens sind, können in den gematik-Profilen weggelassen werden, um die Lesbarkeit zu verbessern. Auch diese haben keine Auswirkungen auf die Kompatibilität.
  6. +
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation_IHE.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation_IHE.html new file mode 100644 index 00000000..d7b92c1c --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-KompatibilitaetDerGematikSpezifikation_IHE.html @@ -0,0 +1,320 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität zu IHE-Profilen

+

Die ISiK-Spezifikationen werden basierend auf folgenden IHE-Profilen entwickelt:

+ +

künftige Ausbaustufen werden auch die Profile

+ +

berücksichtigen.

+

Hierbei ist anzumerken, dass der Zusatz "for mobile" seitens IHE irreführend sein kann. +Konkret fasst IHE unter diesem Begriff nicht nur Systeme zusammen, die "Plattform- und Ressourcenbeschränkt sind, wie z.B. Tablets, Smartphones und Embedded Devices, sondern auch größere Systeme in Umgebungen, in denen die Interoperabilitätsanforderungen einfach sind (z.B. Anzeige der aktuellen Übersicht eines Patienten)" (Quelle: IHE QEDm - Introduction)

+

Die im Folgenden genannten IHE-Spezifikationen beschreiben lediglich Interaktionen zwischen den Systemen und machen verbindliche Vorgaben zum Ablauf, Format und zu den unterstützten Such-Parametern, jedoch keine inhaltlichen Vorgaben. So beschreibt PDQm beispielsweise den Ablauf einer Suche nach Patientendaten, enthält aber keine Vereinbarungen, wie die zurückgelieferte Patientenressource konkret auszusehen hat (Pflichtfelder, Terminologien, Constraints).

+

Der Mehrwert der ISiK-Spezifikation besteht darin, dass die genannten IHE-Interaktionen um Festlegungen zu den auszutauschenden Inhalten ergänzt werden, die zugeschnitten sind auf die Anforderungen des Datenaustausches zwischen Systemen innerhalb einer Einrichtung, basierend auf den Deutschen Basisprofilen von HL7 Deutschland e.V. und abgeglichen mit den Festlegungen der KBV zu den Inhalten der elektronischen Patientenakte (MIOs) sowie den Spezifikationen der Medizininformatik-Initiative.

+

Die Darstellungen der in diesen IHE-Profilen festgelegten Interaktionen und UseCases sind den oben verlinkten Dokumenten zu entnehmen.

+

IHE PDQm

+

Umfang

+

PDQm unterstützt das Abfragen von demografischen Patientendaten. +Damit fällt dieser Anwendungsfall vollständig in den Umfang der Festlegungen von ISiK.

+

Akteure

+

PDQm definiert die Kommunikation zwischen zwei Akteuren:

+
    +
  1. dem Patient Demographics Consumer und
  2. +
  3. dem Patient Demographics Supplier
  4. +
+

Im ISiK Kontext nehmen die bestätigungsrelevanten Systeme die Rolle des Patient Demographics Supplier ein. +Die Pediatric Demographics Option liegt außerhalb des Abdeckungsbereiches von ISiK.

+

Transaktionen

+

PDQm definiert die Transaktion ITI-78 (Mobile Patient Demographics Query), deren Grundlagen identisch sind mit den in ISiK definierten Interaktionen auf dem Datenobjekt "Patient". +Der Unterschied zwischen PDQm und ISiK besteht lediglich darin, dass ISiK nicht alle in PDQm spezifizierten Suchparameter zwingend erfordert. +Suchparameter, die in PDQm obligatorisch sind, in ISiK jedoch optional, sind in diesem Leitfaden mit einem entsprechenden Hinweis versehen.

+

IHE QEDm

+

Umfang

+

QEDm unterstützt das Abfragen klinischer Informationen wie zum Beispiel Diagnosen, Beobachtungen (u.a. Vitalparameter), Messdaten und Allergien unter Verwendung des FHIR-Standards. +Damit überlappt der Anwendungsfall von QEDm in großen Teilen mit den Festlegungen von ISiK.

+

Akteure

+

QEDm definiert die Kommunikation zwischen zwei Akteuren:

+
    +
  1. dem Clinical Data Consumer und
  2. +
  3. der Clinical Data Source
  4. +
+

Im ISiK Kontext nehmen die bestätigungsrelevanten Systeme die Rolle der Clinical Data Source mit folgenden Optionen ein:

+
    +
  • Conditions Option
  • +
  • Procedures Option
  • +
  • Encounters Option
  • +
+

Alle weiteren Optionen liegen außerhalb des Abdeckungsbereiches von ISiK in Hinblick auf den Scope der aktuellen Veröffentlichung.

+

Die Aufgabe der Clinical Data Source liegt in der Beantwortung der Anfragen nach Informationen durch die Rückgabe von FHIR-Ressourcen, die den gegebenen Suchparametern entsprechen.

+

Transaktionen

+

QEDm definiert die Transaktion PCC-44 (Mobile Query for Existing Data), deren Grundlagen identisch sind mit den in ISiK definierten Interaktionen auf den Datenobjekten "Diagnose" "Prozedur" und "Kontakt/Fall". +Der Unterschied zwischen QEDm und ISiK besteht lediglich darin, dass ISiK über die Vorgaben von PDQm hinaus die Implementierung weiterer Suchparameter fordert.

+

So beschränkt sich QEDm zum Beispiel auf die Encounter-Suchparameter patient und date, während ISiK auch die Suche nach der Fallnummer (identifier) und weiteren, für die einrichtungsinterne Kommunikation relevanten Kriterien unterstützt.

+

Abweichungen

+

Hersteller, die die ISiK-Vorgaben implementiert haben, können erwarten, dass ihre Systeme damit die Anforderungen von QEDm im Rahmen der oben genannten Optionen sowie PDQm vollständig erfüllen.

+

Sollten sich Abweichungen ergeben in dem Sinne, dass Hersteller, die ISiK implementiert und erfolgreich bestätigt haben zusätzliche Funktionen implementieren müssen, um QEDm- bzw. PDQm-konform zu sein, so werden diese hier aufgelistet:

+
    +
  • PDQm fordert die Implementierung des Suchparameters address-state. Dieser ist nicht Bestandteil der ISiK-Spezifikation
  • +
  • IHE fordert von Clinical Data Source- sowie Patient Demographic Supplier-Akteuren die Implementierung der Spezifikationen ATNA Secure Node oder ATNA Secure Application. Diese sind nicht Bestandteil des ISiK-Bestätigungsverfahrens.
  • +
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen.html new file mode 100644 index 00000000..3ce6dcf6 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen.html @@ -0,0 +1,261 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_BestaetigungsrelevanteSysteme.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_BestaetigungsrelevanteSysteme.html new file mode 100644 index 00000000..956a806a --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_BestaetigungsrelevanteSysteme.html @@ -0,0 +1,310 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Bestätigungsrelevante Systeme

+

Hier folgt die Festlegung der Deutschen Krankenhausgesellschaft e. V. wie hier aufgeführt

+

Festlegung der Deutschen Krankenhausgesellschaft e. V. aus dem Jahr 2022

+

Die im Folgenden definierten Subsysteme müssen gemäß § 373 Abs. 2 SGB V nach +zweijähriger Übergangsfrist im Krankenhaus um die Schnittstelle erweitert sein, die +das ISIK-Modul bzw. die Datenobjekte der gematik jeweils beschreiben. Die Festlegung der Systeme zu den einzelnen ISiK-Modulen ist um Erläuterungen in eckigen +Klammern ergänzt.

+

ISiK-Basismodul (Stufe 1 und Stufe 2)

+
    +
  • Krankenhaus-Informationssystem (KIS)
  • +
+

ISiK-Modul Vitalwerte und Körpermaße

+
    +
  • KIS mit Funktion elektronische Kurve bzw. entsprechendes KIS-Modul
  • +
  • Patientendaten-Managementsystem (PDMS) [z.B. für Intensivbereiche]
  • +
  • Elektronische Kurve [z.B. für die Verwendung auf Normal-Stationen]
  • +
+

ISiK-Modul Dokumentenaustausch

+
    +
  • KIS
  • +
  • Dokumentenmanagementsystem (DMS)
  • +
  • Archivsystem
  • +
  • Telekonsil-Modul gemäß § 31a BMV-Ä [Ziel ist die clientseitige Implementierung für die Suche nach Dokumenten anhand von Metadaten, +Verarbeitung von Suchergebnissen und Dokumentenzugriff zur Verwendung in Telekonsilien], hierbei keine Umsetzung einer Funktion zum Abruf von Dokumenten aus dem Telekonsil-Modul
  • +
  • KIM-Client-Anwendungssoftware [die Anwendungsintegration, nicht der +KIM-Client, Implementierung für die Ablage von Dokumenten aus KIM-Nachrichten und den Versand von Dokumenten mit KIM-Nachrichten], +hierbei keine Umsetzung einer Funktion zum Abruf von Dokumenten aus +der KIM-Client-Anwendungssoftware
  • +
+

ISiK-Modul Medication

+
    +
  • KIS
  • +
  • PDMS [Anwendungsfallbeispiel: Medikationsdaten in das KIS übertragen bei Verlegung vom Intensivbereich auf Normal-Station]
  • +
  • Software für digitales Medikationsmanagement [z.B. für die Umsetzung +von KHZG Fördertatbestand 5]
  • +
  • E-Therapieplan-System für Zytostatika-Behandlung mit Verarbeitung +von Verordnungs- und Medikationsinformationen [teilweise Grundlage +für onkologische Verordnungsdaten], gemäß diesen Festlegungen keine +Umsetzung des ISIK-Datenobjekts MedikationsVerabreichung notwendig
  • +
  • Herstellungssystem mit Verarbeitung von Verordnungs- und Medikationsinformationen [in KH-Apotheke, z.B. für Zytostatika], gemäß diesen +Festlegungen keine Umsetzung des ISIK-Datenobjekts MedikationsVerabreichung notwendig
  • +
  • E-Rezept-Modul für Herstellungen [eRezept an Fachdienst in TI übertragen]
  • +
  • Taxierungssoftware [in KH-Apotheke]
  • +
+

ISiK-Modul Terminplanung [z.B. für die Umsetzung von KHZG Fördertatbestand 2]

+
    +
  • KIS
  • +
  • Patientenportal-Terminmodul
  • +
+

Hinweise und Rückfragen zu den bestätigungsrelevante Systemen können an die DKG-Geschäftsstelle gerichtet werden.

+

Festlegungen auf Profilebene im CapabilityStatement

+

Festlegungen zu Anforderungen auf Profilebene werden unter CapabilityStatement geführt.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Methodik.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Methodik.html new file mode 100644 index 00000000..6c81434b --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Methodik.html @@ -0,0 +1,260 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Methodik

+

Anforderungen als Ausdruck normativer Festlegungen werden durch die dem RFC2119 entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte MUSS, DARF NICHT, SOLL, SOLL NICHT, KANN sowie ihrer Pluralformen gekennzeichnet.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Must-Support-Flags.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Must-Support-Flags.html new file mode 100644 index 00000000..f1aaaab2 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Must-Support-Flags.html @@ -0,0 +1,269 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Must-Support-Flags

+

Die Verwendung des Must-Support-Flags an Profil-Elementen hat im Kontext dieses Leitfadens folgende Bedeutung:

+
    +
  1. Im Kontext der Erstellung von FHIR-Ressourcen:

    +

    Wenn die entsprechende Information in einem der Testszenarien bekannt ist, dann MUSS das Feld in der erstellten Ressource gefüllt sein. Ist die Information nicht bekannt, KANN es leer bleiben.

    +
  2. +
  3. Im Kontext der Verarbeitung von FHIR-Ressourcen:

    +

    Wenn die entsprechende Information in einer Ressource vorhanden ist, so MUSS diese vom verarbeitenden System ausgewertet, persistiert und dem Anwender dargestellt werden können.

    +

    Sollte ein Hersteller den Bedarf an einer Änderung der Must-Support Vorgaben der ISiK Profile haben, MUSS er von den Profilen ableiten, auf denen die ISiK Profile basieren. Angaben dazu finden sich für jedes Datenobjekt im Kapitel Kompatibilität. In diesem Fall MUSS der Hersteller auch dafür sorgen, dass seine abgeleiteten Profile weiterhin kompatibel mit den ISiK Profilen bleiben.

    +
  4. +
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Repraesentationsformate.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Repraesentationsformate.html new file mode 100644 index 00000000..b0008c8d --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Repraesentationsformate.html @@ -0,0 +1,266 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Repräsentationsformate

+

Der FHIR-Standard beschreibt drei verschiedene Repräsentationsformate: XML, JSON und RDF (Turtle). +Im Rahmen der ISiK-Spezifikation MÜSSEN bestätigungsrelevante Systeme (Server) die Formate XML und JSON unterstützen.

+

Client-seitige Implementierungen haben die Wahl zwischen XML- und JSON-Repräsentation, müssen jedoch in den HTTP Accept- und Content-Type-Headern entsprechend ausweisen, welche Repräsentation gewählt wurde.

+

Wenn ein Client im Accept-Header ein vom Server nicht unterstütztes Format anfordert, so MUSS der Server mit dem Fehlercode 406 not acceptable antworten. +Wenn ein Client im Content-Type-Header ein vom Server nicht unterstütztes Format sendet, so MUSS der Server mit dem Fehlercode 415 unsupported media type antworten.

+

Es ist zu beachten, dass die Header Content-Type und Accept noch weitere FHIR-spezifische und allgemeine Parameter enthalten können. Siehe beispielsweise https://www.hl7.org/fhir/R4/http.html#version-parameter. Das Vorhandensein dieser Parameter darf nicht zu einem Fehler führen.

+

Anfragen, in denen eine andere FHIR-Version als die hier vereinbarte Version 4.0 angefordert wird, müssen mit Fehlercode 406 - not acceptable beantwortet werden.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Rest.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Rest.html new file mode 100644 index 00000000..6baca1ae --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Rest.html @@ -0,0 +1,293 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

REST-API

+

Read-Interaktionen

+

Instanzen von Datenobjekten, die die REST-Interaktion "READ" fordern MÜSSEN per HTTP GET auf [BASE_URL]/[resourceType]/[ID] abgerufen werden können. +Siehe: https://www.hl7.org/fhir/R4/http.html#read

+

Search-Interaktionen

+

Die Suche MUSS sowohl mittels HTTP GET als auch HTTP POST (vgl. FHIR RESTful Search - Introduction) unterstützt werden. Die URL-Parameter komplexer Suchanfragen können personenbezogene Merkmale enthalten, daher ist im Echtbetrieb die Suche mittels HTTP POST in Verbindung mit TLS-Verschlüsselung vorzuziehen.

+

Create-Interaktionen

+

Das Erstellen einer Ressource kann per HTTP POST (vgl. FHIR RESTful API - create) unterstützt werden. Einzelne Datenobjekte (spezifiziert im vorliegenden Basismodul oder in einem ISiK Erweiterungsmodul) können diese Interaktion als verpflichtend kennzeichnen.

+

Es liegt im Ermessen des bestätigungsrelevanten Systems, ob eine externe Ressource durch das System direkt übernommen wird. Auch wie die Herkunft der übernommenen Ressource gekennzeichnet wird, liegt im Ermessen des bestätigungsrelevanten Systems.

+

Eine Ressource welche nicht durch das bestätigungsrelevante System angelegt wird, KANN in Resource.meta.tag eine Angabe enthalten, welche indiziert, dass diese Ressource durch ein Fremdsystem erzeugt wurde. Dieser Tag KANN durch den Server hinzugefügt werden, sollte der Client diese Angabe nicht mit übermitteln. Eine von einem System vorgenommene Auszeichnung von Fremdübernahmen SOLL über den Code external aus dem Kodiersystem https://fhir.de/CodeSystem/common-meta-tag-de erfolgen. Weitere Kodierungen KÖNNEN hinzugefügt werden.

+
json
+{
+    "resourceType": "Patient",
+    "meta": {
+        "tag": [
+            {
+                "system": "http://fhir.de/CodeSystem/common-meta-tag-de",
+                "code": "external"
+            }
+        ]
+    }
+    [...]
+}
+
+

Eine weitere Differenzierung der Herkunft kann mittels Resource.meta.security kodiert werden. Hierzu KÖNNEN Codes aus dem ValueSet SecurityIntegrityObservationValue verwendet werden.

+

Sollte die erzeugte Ressource dauerhaft in das bestätigungsrelevante System übernommen werden, KANN der entsprechende Tag in Patient.meta.tag entfernt werden. In diesem Falle MUSS die id der Ressource stabil bleiben und darf nicht verändert werden.

+

Per Create-Interaktion erzeugte Ressourcen MÜSSEN im Falle einer erfolgreichen Übermittlung direkt über die READ- und SEARCH-Interaktionen zur Verfügung gestellt werden.

+

Ressourcen, die zu einem entsprechenden ISiK-Profil nicht konform sind, MÜSSEN durch das bestätigungsrelevante System abgelehnt werden. Als Antwort MUSS ein HTTP Status-Code 400 - Bad Request mit einer OperationOutcome-Ressource zurückgegeben werden, falls es sich um einen syntaktischen Fehler in der Repräsentation der Ressource handelt. Die OperationOutcome MUSS eine Auflistung aller Fehler in der übermittelten Ressource in kodierter Form vorweisen. Anderweitig (semantisch) invalide Ressourcen MÜSSEN ebenfalls mit einer entsprechenden OperationOutcome-Ressource abgewiesen werden. In diesem Fall SOLLTE der HTTP Status-Code HTTP 422 - Unprocessable Entity verwendet werden.

+

Update-Interaktionen

+

Das Update einer Ressource KANN per HTTP PUT (vgl. FHIR RESTful API - update) unterstützt werden. Es ist zu beachten, dass beim Update einer Ressource bestimmte dazugehörige Metadaten beibehalten werden SOLLTEN. Die gleichen Vorgaben für die Handhabung von invaliden Ressourcen wie beschrieben im Abschnitt "Create-Interaktionen", gelten auch für Update-Interaktionen.

+

Sicherheitsaspekte

+

Alle REST-Interaktionen müssen sowohl mittels HTTP als auch HTTPS (TLS-Verschlüsselung) unterstützt werden. Vorgaben zur TLS-Verschlüsselung sind dem nachfolgenden Link für die FHIR Security Check List zu entnehmen. +Im Echtbetrieb MUSS die Kommunikation ausschließlich per HTTPS erfolgen. +Weiterhin sind geeignete Maßnahmen zur Risiko-Minimierung (z.B. Benutzerautorisierung / -authentifikation) zu treffen, siehe http://build.fhir.org/security.html#6.1.0. +Diese sind in Stufe 1 des ISiK Basismoduls jedoch nicht bestätigungsrelevant.

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Suchparameter.html b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Suchparameter.html new file mode 100644 index 00000000..aec6f3aa --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-UebergreifendeFestlegungen-UebergreifendeFestlegungen_Suchparameter.html @@ -0,0 +1,379 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Allgemeine Hinweise zu Suchparametern

+

Innerhalb der jeweiligen Abschnitte 'Interaktionen' (Siehe Datenobjekte) werden für alle innerhalb dieses Implementierungsleitfadens spezifizierten FHIR-Ressourcen Suchparameter bestimmt, welche im Rahmen des Bestätigungsverfahrens von ISiK unterstützt werden MÜSSEN.

+

Es MUSS sichergestellt werden, dass nicht unterstützte oder leere Suchparameter nicht zu einem Fehler führen. Siehe FHIR RESTful Search - Handling Errors. Alle unterstützten und verwendeten Suchparameter sind im Self-Link des Suchbundles korrekt anzugeben.

+

Alle Suchparameter in FHIR entsprechen einem von neun definierten Such-Parameter-Typen:

+
    +
  • Number
  • +
  • Date/DateTime
  • +
  • String
  • +
  • Token
  • +
  • Reference
  • +
  • Composite
  • +
  • Quantity
  • +
  • URI
  • +
  • Special
  • +
+

Des Weiteren werden zusätzlich sogenannte 'Modifier' pro Suchparameter-Typ definiert. Eine Übersicht findet sich unter "Search Modifiers".

+

Für die im Rahmen dieses Leitfadens relevanten Typen gelten folgende allgemeinen Festlegungen:

+

Date/DateTime

+

Die Präfixe lt,le,gt,ge,eq MÜSSEN für jeden Suchparameter vom Typ 'date/dateTime' unterstützt werden.

+

Beispiele:

+

[base]/Patient?birthDate=ge2000-01-01
+Suche nach allen Patienten mit einem Geburtsdatum 2000-01-01T00:00 oder später.

+

[base]/Patient?birthDate=eq2000-01-01
+Suche nach allen Patienten mit einem Geburtsdatum von 2000-01-01T00:00 bis (aber nicht einschließlich) 2000-02-01T00:00

+

Es ist zu beachten, dass jedes Datum einen impliziten Werte-Bereich besitzt. Siehe https://hl7.org/fhir/R4/search.html#date.

+

String

+

Der Modifier :contains MUSS für alle spezifizierten Suchparameter vom Typ 'String' unterstützt werden.

+

Beispiele:

+

[base]/Patient?address:contains=Berlin
+Diese Suchanfrage gibt alle Patienten zurück zum Client, welche in einem Adress-Bestandteil den String 'Berlin' enthält (z.B. alle Berliner Adressen unabhängig von konkreten Bezirken).

+

Token

+

Der Modifier :not MUSS für alle spezifizierten Suchparameter vom Typ 'Token' unterstützt werden, sofern diese auf die Datentypen "code", "Coding" oder "CodeableConcept" verwendet werden.

+

Der Modifier :text MUSS für alle spezifizierten Suchparameter vom Typ 'Token' unterstützt werden, sofern diese auf die Datentypen "Coding" oder "CodeableConcept" verwendet werden.

+

Beispiele:

+

[base]/Condition?code:text=Freitext
+Diese Suche gibt alle Condition-Ressourcen zurück zum Client, welche innerhalb Condition.code.text das Wort "Freitext" enthält. Es ist zu beachten, dass hier ein partielles Matching erfolgen MUSS (es ist implizit der Modifier :contains anzunehmen).

+

[base]/Condition?code:not=Test
+Diese Suche gibt alle Condition-Ressourcen zurück zum Client, welche innerhalb Condition.code.coding NICHT den Code 'Test' enthält. Es ist zu beachten, dass dies auch alle Ressourcen beinhaltet, die keinen kodierten Wert für Condition.code enthalten.

+

Reference

+

Der Modifier :identifier MUSS für alle spezifizierten Suchparameter vom Typ 'Reference' unterstützt werden.

+

Der [type] Modifier MUSS für alle spezifizierten Suchparameter vom Typ 'Reference' unterstützt werden.

+

Beispiele:

+

[base]/Procedure?subject:Patient=Test +Diese Suche gibt alle Prozeduren zurück zum Client, welche innerhalb Procedure.subject auf einen Patienten verweist mit dem der ID "Test". Hierdurch werden Referenzen auf den Ressourcentyp "Group" in der Suche ausgeschlossen.

+

Beispiele:

+

[base]/Coverage?Payor:identifier=http://fhir.de/sid/arge-ik/iknr|123456
+Diese Suche gibt alle Coverage-Ressourcen zurück zum Client, welche innerhalb Coverage.payor eine logische Referenz auf den Versicherer mit der IK-Nummer "123456" enthält.

+

Für Suchparameter vom Typ 'Reference' MÜSSEN die Festlegungen für Chaining und Reverse Chaining verpflichtend implementiert werden. Chaining und Reverse Chaining MUSS für alle Suchparameter über alle Ebenen und Datenobjekte hinweg (potentiell in Kombination) unterstützt werden.

+

Beispiele:

+

[base]/Procedure?subject.name=Test +Diese Suche gibt alle Prozeduren zurück zum Client, welche innerhalb Procedure.subject auf einen Patienten verweist mit dem Namen "Test".

+

[base]/Condition?encounter.subject.name=Test +Diese Suche gibt alle Diagnosen zurück zum Client, welche eine Encounter Reference besitzen und innerhalb Encounter.subject auf einen Patienten verweist mit dem Namen "Test".

+

[base]/Patient?_has:Procedure:patient:code=1234-5 +Diese Suche gibt alle Patienten zurück zum Client, welche innerhalb Procedure.subject auf einen Patienten verweisen und einen Code mit dem Wert '1234-5' in Procedure.code enthalten.

+

[base]/Patient?_has:Procedure:patient:encounter.identifier=12345 +Diese Suche gibt alle Patienten zurück zum Client, welche innerhalb Procedure.subject auf einen Patienten verweisen und einen deren Procedure auf einen Encounter verweist z.B. mit der Aufnahmenummer '1234-5'.

+

[base]/Procedure?_has:Encounter:diagnosis:diagnosis:Condition.code=http://fhir.de/CodeSystem/bfarm/icd-10-gm|F16.1 +Diese Suche gibt alle Prozeduren zurück zum Client, welche innerhalb Encounter.diagnosis.condition auf einen Encounter verweisen, der wiederrum mit einer Condition verlinkt ist mit dem ICD-10-GM Code 'F16.1'.

+

Verpflichtende Suchparameter (Alle Datenobjekte)

+

Folgende Suchparameter MÜSSEN für alle bestätigungsrelevante Datenojekte implementiert werden:

+
    +
  • _id

    + +
  • +
  • _tag

    + +
  • +
  • _has

    +
      +
    • Siehe Abschnitt "Allgemeine Hinweise zu Suchparametern".
    • +
    +
  • +
  • _count

    + +

    Hierraus ergibt sich, dass durch ein Paging ensprechende der FHIR-Kernspezifikation unterstützt werden MUSS. +Für die URIs in den Link-Relationen "first", "last", "next", sowie "prev" MUSS sichergestellt werden, dass NICHT die ursprünglich verwendeten Suchparameter, sowie anderweitig sensitive Informationen enthalten, welche in der Suchanfrage an das bestätigungsrelevante System versendet wurden. +Der "self"-Link innerhalb des Such-Bundles MUSS entsprechend der Vorgaben aus FHIR Kernspezifikation - 3.1.1.6 - Server Conformance strukturiert sein.

    +
  • +
  • _include

    +
      +
    • Beispiele: GET [base]/Encounter?_include=Patient:subject
    • +
    • Anwendungshinweise: Weitere Informationen zur Suche nach "_tag" finden sich in der FHIR-Basisspezifikation - Abschnitt "Including other resources in result".
    • +
    • Alle Referenzen für die ein Chaining unterstützt wird MUSS auch der _include-Parameter implementiert werden. Alle unterstützten Include-Referenzen MÜSSEN im CapabilityStatement unter CapabilityStatement.rest.resource.searchInclude angegeben werden. Siehe CapabilityStatement.
    • +
    +

    Der :iterate Modifier KANN unterstützt werden.

    +
  • +
  • _revinclude

    +
      +
    • Beispiele: GET [base]/Patient?_revinclude=Encounter:subject
    • +
    • Anwendungshinweise: Weitere Informationen zur Suche nach "_tag" finden sich in der FHIR-Basisspezifikation - Abschnitt "Including other resources in result".
    • +
    • Alle Referenzen für die ein Chaining unterstützt wird MUSS auch der _include-Parameter implementiert werden. Alle unterstützten Include-Referenzen MÜSSEN im CapabilityStatement unter CapabilityStatement.rest.resource.searchRevInclude angegeben werden. Siehe CapabilityStatement.
    • +
    +

    Der :iterate Modifier KANN unterstützt werden.

    +
  • +
+

Die aufgelisteten Suchparameter MÜSSEN entsprechend der Vorgaben für das CapabilityStatement pro Ressource aufgelistet werden.

+

Best Practice Empfehlungen für Standard-Suchfilter

+

Diese grundlegenden Best Practice Empfehlungen beziehen sich auf die korrekte Verwaltung des Suchprozesses seitens des Servers, mit Bezug auf Sicherheit im klinischen Umfeld. Unstimmigkeiten in den Erwartungen zwischen Client und Server können dazu führen, dass mehr Ressourcen als erwartet oder angemessen gefunden werden, oder, dass Ressourcen in den Suchergebnissen fehlen, die eigentlich vorhanden sein sollten. Im Folgenden werden daher Empfehlungen für Standard-Suchfilter genannt, die ein Grundmaß an Sicherheit im klinischen Umfeld bereitstellen sollen.

+
    +
  • Der Server SOLLTE dafür sorgen, dass Clients die benötigten Informationen finden können, auch bei Inhalten, die sich über mehrere FHIR-Ressourcen hinweg strecken.

    +
  • +
  • Wenn der Inhalt eines Suchparameters leer ist, SOLLTE der Server diesen ignorieren.

    +
  • +
  • Wenn der Inhalt eines Suchparameters syntaktisch falsch ist, SOLLTE der Server einen Fehler zurückgeben. Handelt es sich jedoch um eine logische Bedingung (z. B. einen Code), SOLLTE der Server die Suche verarbeiten, einschließlich des Parameters. Als Ergebnis wird in diesem Fall eine leere Suchmenge zurückgegeben, da der Parameter nicht erfüllt werden kann. In solchen Fällen kann zusätzlich ein OperationOutcome mit Hinweisen und Warnungen über den Suchprozess in das Ergebnis aufgenommen werden. Dieses wird in die Suchergebnisse als Eintrag mit search mode = outcome aufgenommen. Clients können diese Informationen nutzen, um zukünftige Suchen zu verbessern.

    +
  • +
  • Wenn der Server geeignete Standardfilter bei der Suche auf der Grundlage des Patientenkontextes (z. B. das Herausfiltern von fehlerhaften Datensätzen oder inaktiven und verstorbenen Patienten) enthält, SOLLTEN diese angemessen und eindeutig dokumentiert sein (vorzugsweise durch Aufnahme in den 'self link' für eine Suche).

    +
  • +
  • Weitere Hinweise können in der FHIR Spezifikation im Abschnitt Search eingesehen werden.

    +
  • +
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..a402b1b8 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,278 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu Must-Support-Feldern

+

ValueSet.url

+

Bedeutung: Eindeutige Url zur Identifizierung des ValueSets. Absolute Urls sind zu bevorzugen.

+

Hinweise: OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE eine Canonical Url vergeben werden.

+

ValueSet.version

+

Bedeutung: Version des ValueSets

+

Hinweise: Jede Änderung des dazugehörigen CodeSystems MUSS eine Änderung in der Version des CodeSystems und ValueSets nach sich ziehen.

+

ValueSet.name

+

Bedeutung: Maschinenlesbarer Name des ValueSets

+

Hinweise: Der Constraint vsd-0 ist hierbei zu beachten.

+

ValueSet.status

+

Bedeutung: Indikation, ob das ValueSet in aktiver Verwendung ist.

+

Hinweise: Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte "active" und "retired". Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

+

ValueSet.useContext

+

Bedeutung: Angabe für welches Datenelement das ValueSet relevant ist

+

Hinweise: Es muss mindestens ein useContext angegeben werden, in dem der Ressourcen-Typ kodiert wird, in dem das ValueSet in einem Element zur Verwendung kommt.

+

ValueSet.expansion

+

Bedeutung: Angabe der Konzepte aus denen sich das ValueSet zusammensetzt.

+

Hinweise: Mindestens MUSS ein Code und ein Anzeigetext spezifiziert werden.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Beispiele.html new file mode 100644 index 00000000..fe970bde --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Beispiele.html @@ -0,0 +1,300 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel Patient:

+

{
+    "resourceType": "ValueSet",
+    "id": "ISiKValueSetExample",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet"
+        ]
+    },
+    "useContext":  [
+        {
+            "code": {
+                "code": "focus",
+                "system": "http://terminology.hl7.org/CodeSystem/usage-context-type"
+            },
+            "valueCodeableConcept": {
+                "coding":  [
+                    {
+                        "code": "Encounter",
+                        "system": "http://hl7.org/fhir/resource-types"
+                    }
+                ]
+            }
+        }
+    ],
+    "url": "http://example.org/fhir/ValueSet/TestValueSet",
+    "version": "2.0.2",
+    "name": "TestValueSet",
+    "status": "active",
+    "expansion": {
+        "timestamp": "2022-03-30",
+        "contains":  [
+            {
+                "system": "http://example.org/fhir/CodeSystem/TestKatalog",
+                "version": "1.0.0",
+                "code": "test",
+                "display": "Test"
+            }
+        ]
+    }
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Interaktionen.html new file mode 100644 index 00000000..650d6695 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Interaktionen.html @@ -0,0 +1,302 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource ValueSet MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "url" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?url=http://example.org/fhir/ValueSet/test

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.url" finden sich in der FHIR-Basisspezifikation - Abschnitt "uri".

    +
  4. +
  5. Der Suchparameter "name" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?name=TestValueSet

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.name" finden sich in der FHIR-Basisspezifikation - Abschnitt "String Search".

    +
  6. +
  7. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search"".

    +
  8. +
  9. Der Suchparameter "version" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?version=1.0.0

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "ValueSet.version" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  10. +
  11. Der Suchparameter "context-type-value" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/ValueSet?context-type-value=http://terminology.hl7.org/CodeSystem/usage-context-type|focus$http://hl7.org/fhir/resource-types|Encounter

    +

    Mit dieser Abfrage können hausinterne Kataloge anhand des Ressource-Typs ermittelt werden. Diese Informationen sind u.a. relevant im Kontext von:

    +
      +
    • Hausinternen Prozeduren/Diagnosen-Codes
    • +
    • Kodierung von Encounter-Informationen (z.B. Wahlleistungen, Orttypen)
    • +
    +

    Use Cases im Zusammenhang:

    +

    (A) Zur Konfigurationszeit können passende ValueSets von einem Server spezifisch für einen Ressourcentyp abgerufen und vorbereitend auf eine Systemintegration begutachtet bzw. in Client-Systeme eingebunden werden. In diesem Sinne wird die Abfrage im Kontext der Terminvereinbarung durch einen Termin-Requestor genutzt.

    +

    (B) Zur Laufzeit können spezifische ValueSets synchronisiert bzw. direkt in die Eingabemasken von Clients eingebunden werden.

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "CodeSystem.useContext" finden sich in der FHIR-Basisspezifikation - Abschnitt "Composite Search Parameters".

    +
  12. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Kompatibilitaet.html new file mode 100644 index 00000000..95d430ac --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Kompatibilitaet.html @@ -0,0 +1,260 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Motivation.html new file mode 100644 index 00000000..438fdcb1 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Motivation.html @@ -0,0 +1,262 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

ISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus- / Systeminterne Kodierungen. +Mittels der Publizierung von ValueSets können Auswahllisten für externe Clients bereitgestellt werden, sodass diese Kodierungen ebenfalls anbieten können.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Profil.html new file mode 100644 index 00000000..0a638f41 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-ValueSet-ValueSet_Profil.html @@ -0,0 +1,645 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

FHIR-Profil

+ +
NameCanonical
ISiKValueSethttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet
+
idS Σ1..1System.String
urlS Σ1..1uri
identifierΣ0..*Identifier
versionS Σ1..1string
nameS Σ I1..1string
titleΣ0..1string
statusS Σ ?!1..1codeBinding
experimentalΣ0..1boolean
dateΣ0..1dateTime
publisherΣ0..1string
contactΣ0..*ContactDetail
description0..1markdown
codeΣ1..1CodingBindingPattern
valueCodeableConceptCodeableConcept
jurisdictionΣ0..*CodeableConceptBinding
immutableΣ0..1boolean
purpose0..1markdown
copyright0..1markdown
lockedDateΣ0..1date
inactiveΣ0..1boolean
systemΣ I0..1uri
versionΣ0..1string
code1..1code
display0..1string
language0..1codeBinding
use0..1CodingBinding
value1..1string
propertyΣ1..1code
opΣ1..1codeBinding
valueΣ1..1string
valueSetΣ I0..*canonical(ValueSet)
excludeI0..*see (include)
identifier0..1uri
timestampS1..1dateTime
total0..1integer
offset0..1integer
name1..1string
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueDecimaldecimal
valueUriuri
valueCodecode
valueDateTimedateTime
systemS1..1uri
abstract0..1boolean
inactive0..1boolean
versionS1..1string
codeS I1..1code
displayS I1..1string
designation0..*see (designation)
contains0..*see (contains)
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_AnmerkungenZuDenMustSupportFeldern.html b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_AnmerkungenZuDenMustSupportFeldern.html new file mode 100644 index 00000000..f586973c --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_AnmerkungenZuDenMustSupportFeldern.html @@ -0,0 +1,284 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Anmerkungen zu den Must-Support Feldern

+

Das Profil ISiKVersicherungsverhaeltnisGesetzlich

+

Coverage.identifier

+

Hinweise: Grundsätzlich ist zu beachten, dass das Versicherungsverhältnis für die gesetzliche Versicherung durch die 30-stellige KVNR identifiziert wird. Die 10-stellige KVNR ist hingegen ein Identifier für das Datenobjekt Patient. Siehe

Command 'pagelink' could not render: Page not found.
. Es wird in ISiK davon ausgegangen, dass die 30-stellige KVNR nicht in bestätigungrelevanten Systemen geführt wird, sodass diese nicht als zuverlässiger Identifier für das Versicherungsverhältnis verwendbar ist. Bei einer Suche nach einem Versicherungsverhältnis SOLLTE dieses per Chaining auf das Datenobjekt Patient ermittelt werden.

+

Coverage.status

+

Bedeutung: Der Status einer Instanz des Profils ISiKVersicherungsverhaeltnisGesetzlich.

+

Hinweise: Das Element status macht deutlich, ob diese Instanz genutzt werden kann oder ob sie bspw. als ungültig oder falsch gekennzeichnet ist, siehe FHIR Kernspezifikaton.

+

Coverage.type

+

Bedeutung: Das Element type kennzeichnet die Art der Versicherung.

+

Hinweise: Kennzeichnung als gesetzliche Versicherung, siehe Beschreibung der deutschen Basisprofile.

+

Coverage.beneficiary

+

Bedeutung: Das Element beneficiary benennt die versicherte Person, auf die sich die Kostenübernahme durch die Versicherung bezieht.

+

Hinweise: Für ISiK MUSS beneficiary ein Patient nach dem Profil ISiKPatient sein.

+

Coverage.payor

+

Bedeutung: Der Kostenträger des Versicherten.

+

Hinweise: Der Kostenträger der gesetzlichen Versicherung wird durch ein Institutskennzeichen in Coverage.payor.identifier identifiziert.

+

Das Profil ISiKVersicherungsverhaeltnisSelbstzahler

+

Coverage.subscriber

+

Bedeutung: Der Inhaber der Versicherungspolice.

+

Hinweise: Kann entweder der Patient selbst oder ein Hauptversicherter nach dem Profil ISiKHauptversicherter sein.

+

Coverage.beneficiary

+

Siehe entsprechenden Eintrag zum Profil ISiKVersicherungsverhaeltnisGesetzlich oben.

+

Coverage.payor

+

Bedeutung: Der Rechnungsempfänger.

+

Hinweise: Der Rechnungsempfänger für Selbstzahler ist entweder der Patient selbst, Hauptversicherte oder eine andere Partei.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Beispiele.html b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Beispiele.html new file mode 100644 index 00000000..ae705b9d --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Beispiele.html @@ -0,0 +1,325 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Beispiele

+

Valides Minimalbeispiel für das Profil ISiKVersicherungsverhaeltnisGesetzlich:

+

{
+    "resourceType": "Coverage",
+    "id": "CoverageGesetzlich",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich"
+        ]
+    },
+    "type": {
+        "coding":  [
+            {
+                "code": "GKV",
+                "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis"
+            }
+        ]
+    },
+    "payor":  [
+        {
+            "identifier": {
+                "type": {
+                    "coding":  [
+                        {
+                            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
+                            "code": "XX"
+                        }
+                    ]
+                },
+                "system": "http://fhir.de/sid/arge-ik/iknr",
+                "value": "260326822"
+            },
+            "display": "Eine Gesundheitskasse"
+        }
+    ],
+    "status": "active",
+    "beneficiary": {
+        "reference": "Patient/PatientinMusterfrau"
+    }
+}

+

Valides Minimalbeispiel für das Profil ISiKVersicherungsverhaeltnisSelbstzahler:

+

{
+    "resourceType": "Coverage",
+    "id": "CoveragePrivat",
+    "meta": {
+        "profile":  [
+            "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler"
+        ]
+    },
+    "type": {
+        "coding":  [
+            {
+                "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis",
+                "code": "SEL"
+            }
+        ]
+    },
+    "status": "active",
+    "beneficiary": {
+        "reference": "Patient/PatientinMusterfrau"
+    },
+    "payor":  [
+        {
+            "reference": "Patient/PatientinMusterfrau"
+        }
+    ]
+}

+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Interaktionen.html b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Interaktionen.html new file mode 100644 index 00000000..a1ce02f0 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Interaktionen.html @@ -0,0 +1,328 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Interaktionen

+

Für die Ressource Coverage MUSS die REST-Interaktion "READ" implementiert werden.

+

Folgende Suchparameter sind für das Bestätigungsverfahren relevant, auch in Kombination:

+

Profil ISiKVersicherungsverhaeltnisGesetzlich

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "status" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  4. +
  5. Der Suchparameter "type" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?type=http://fhir.de/CodeSystem/versicherungsart-de-basis|GKV

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  6. +
  7. Der Suchparameter "beneficiary" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?beneficiary=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.beneficiary" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  8. +
  9. Der Suchparameter "patient" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?patient=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.beneficiary" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  10. +
  11. Der Suchparameter "payor" in Kombination mit einem identifier-Modifier MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?payor:identifier=0123456789

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.payor" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  12. +
+

Profil ISiKVersicherungsverhaeltnisSelbstzahler

+
    +
  1. Der Suchparameter "_id" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?_id=103270

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der FHIR-Basisspezifikation - Abschnitt "Parameters for all resources".

    +
  2. +
  3. Der Suchparameter "beneficiary" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?beneficiary=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.beneficiary" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  4. +
  5. Der Suchparameter "payor" MUSS unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?payor=0123456789

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.payor" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  6. +
  7. Der Suchparameter "subscriber" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?subscriber=Patient/123

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.subscriber" finden sich in der FHIR-Basisspezifikation - Abschnitt "Reference Search".

    +
  8. +
  9. Der Suchparameter "status" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?status=active

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.status" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  10. +
  11. Der Suchparameter "type" KANN unterstützt werden:

    +

    Beispiele:

    +

    GET [base]/Coverage?type=http://fhir.de/CodeSystem/versicherungsart-de-basis|SEL

    +

    Anwendungshinweise: Weitere Informationen zur Suche nach "Coverage.type" finden sich in der FHIR-Basisspezifikation - Abschnitt "Token Search".

    +
  12. +
+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Kompatibilitaet.html b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Kompatibilitaet.html new file mode 100644 index 00000000..3bfb16f9 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Kompatibilitaet.html @@ -0,0 +1,274 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Kompatibilität

+

Profil ISiKVersicherungsverhaeltnisGesetzlich

+

Das Profil ISiKVersicherungsverhaeltnisGesetzlich basiert auf dem Profil Coverage der deutschen Basisprofile. +Instanzen, die gegen ISiKVersicherungsverhaeltnisGesetzlich valide sind, sind auch valide gegen

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+

Profil ISiKVersicherungsverhaeltnisSelbstzahler

+

Das Profil ISiKVersicherungsverhaeltnisSelbstzahler basiert auf dem Profil "Coverage, deutsches Selbstzahlerprofil" der deutschen Basisprofile. +Instanzen, die gegen ISiKVersicherungsverhaeltnisSelbstzahler valide sind, sind auch valide gegen

+ +

Hinweise zu Inkompatibilitäten können über die Portalseite gemeldet werden..

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Motivation.html b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Motivation.html new file mode 100644 index 00000000..26732bba --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Motivation.html @@ -0,0 +1,262 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Motivation

+

ISiK unterstützt Anwendungsszenarien, in denen durch das Krankenhaus erbrachte Leistungen erfasst oder gegenüber Kostenträgern abgerechnet werden. In diesen Anwendungsszenarien wird das Versicherungsverhältnis verwendet, um bspw. den Versicherungsstatus oder die Rechnungsanschrift der Versicherung zu ermitteln.

+

In FHIR werden Versicherungsverhältnisse mit der Coverage-Ressource repräsentiert.

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Profil.html b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Profil.html new file mode 100644 index 00000000..acb50a21 --- /dev/null +++ b/IG/3.0.4/ImplementationGuide-markdown-Versicherungsverhaeltnis-Versicherungsverhaeltnis_Profil.html @@ -0,0 +1,1046 @@ + + + + + + + + Implementierungsleitfaden ISiK-Basismodul + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + +
+ + +
+ +
+ +

Profil

+

Profil ISiKVersicherungsverhaeltnisGesetzlich

+ +
NameCanonical
ISiKVersicherungsverhaeltnisGesetzlichhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich
+

identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
VersicherungsArtDeBasisS Σ1..1CodingPattern
textΣ0..1string
policyHolderΣ I0..0Reference(Patient | RelatedPerson | Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ1..1Identifier-Profil für die 10-stellige KrankenversichertennummerPattern
displayΣ0..1string
subscriberIdΣ0..0string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1IdentifierPattern
displayΣ0..1string
dependentΣ0..1string
relationship0..1CodeableConceptBinding
periodΣ I0..1Period
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayS Σ1..1string
typeΣ1..1CodeableConceptBinding
valueΣ1..1string
nameΣ0..1string
orderΣ0..0positiveInt
networkΣ0..0string
typeΣ0..1CodeableConceptBinding
valueQuantitySimpleQuantity
valueMoneyMoney
typeΣ1..1CodeableConcept
periodΣ I0..1Period
subrogation0..1boolean
contractI0..*Reference(Contract)

+

Profil ISiKVersicherungsverhaeltnisSelbstzahler

+ +
NameCanonical
ISiKVersicherungsverhaeltnisSelbstzahlerhttps://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler
+

pkvΣ0..1Identifier-Profil für die Abbildung einer PrivatversichertennummerPattern
statusS Σ ?!1..1codeBinding
VersicherungsArtDeBasisΣ1..1CodingPattern
textΣ0..1string
policyHolderΣ I0..0Reference(Patient | RelatedPerson | Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ1..1string
subscriberIdΣ0..0string
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
dependentΣ0..1string
relationship0..1CodeableConceptBinding
periodΣ I0..1Period
payorS Σ I1..*Reference(Patient | RelatedPerson | Organization)
typeΣ1..1CodeableConceptBinding
valueΣ1..1string
nameΣ0..1string
orderΣ0..0positiveInt
networkΣ0..0string
typeΣ0..1CodeableConceptBinding
valueQuantitySimpleQuantity
valueMoneyMoney
typeΣ1..1CodeableConcept
periodΣ I0..1Period
subrogation0..1boolean
contractI0..*Reference(Contract)

+
+ + + +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/artifacts/ImplementationGuide/ImplementierungsleitfadenIsiK_basismodul.json b/IG/3.0.4/artifacts/ImplementationGuide/ImplementierungsleitfadenIsiK_basismodul.json new file mode 100644 index 00000000..809b7704 --- /dev/null +++ b/IG/3.0.4/artifacts/ImplementationGuide/ImplementierungsleitfadenIsiK_basismodul.json @@ -0,0 +1,537 @@ +{ + "resourceType": "ImplementationGuide", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ImplementationGuide/ISiK-Basismodul", + "version": "3.0.4", + "name": "Implementierungsleitfaden ISiK-Basismodul", + "status": "active", + "fhirVersion": [ + "4.0.1" + ], + "packageId": "de.gematik.isik-basismodul-stufe3", + "definition": { + "resource": [ + { + "reference": { + "reference": "Patient/test" + } + } + ], + "page": { + "nameUrl": "ImplementationGuide/markdown/Einfuehrung.md", + "title": "Einführung", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/ReleaseNotes.md", + "title": "Release Notes", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen.md", + "title": "Übergreifende Festlegungen", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Methodik.md", + "title": "Methodik", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_BestaetigungsrelevanteSysteme.md", + "title": "Bestätigungsrelevante Systeme", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/KompatibilitaetDerGematikSpezifikation.md", + "title": "Kompatibilität der gematik-Spezifikation", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/KompatibilitaetDerGematikSpezifikation_IHE.md", + "title": "IHE-Profile", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/KompatibilitaetDerGematikSpezifikation_Andere.md", + "title": "Nationale FHIR-Spezifikationen", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Must-Support-Flags.md", + "title": "Must-Support-Flags", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Repraesentationsformate.md", + "title": "Repräsentationsformate", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Suchparameter.md", + "title": "Suchparameter", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Rest.md", + "title": "REST-API", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte.md", + "title": "Datenobjekte", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/CapabilityStatement.md", + "title": "CapabilityStatement", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Patient.md", + "title": "Patient (Patient)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Patient/Patient_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Patient/Patient_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Patient/Patient_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Patient/Patient_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen zu den Must-Support Feldern", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Patient/Patient_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Patient/Patient_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Kontakt.md", + "title": "Kontakt/Fall (Encounter)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/KontaktGesundheitseinrichtung/Kontakt_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/KontaktGesundheitseinrichtung/Kontakt_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/KontaktGesundheitseinrichtung/Kontakt_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/KontaktGesundheitseinrichtung/Kontakt_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen zu den Must-Support Feldern", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/KontaktGesundheitseinrichtung/Kontakt_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/KontaktGesundheitseinrichtung/Kontakt_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Abrechnungsfall.md", + "title": "Abrechnungsfall (Account)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Abrechnungsfall/Abrechnungsfall_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Abrechnungsfall/Abrechnungsfall_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Abrechnungsfall/Abrechnungsfall_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Abrechnungsfall/Abrechnungsfall_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen zu den Must-Support Feldern", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Abrechnungsfall/Abrechnungsfall_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Abrechnungsfall/Abrechnungsfall_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Diagnose.md", + "title": "Diagnose (Condition)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Diagnose/Diagnose_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Diagnose/Diagnose_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Diagnose/Diagnose_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Diagnose/Diagnose_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen zu den Must-Support Feldern", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Diagnose/Diagnose_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Diagnose/Diagnose_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Prozedur.md", + "title": "Prozedur (Procedure)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Prozedur/Prozedur_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Prozedur/Prozedur_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Prozedur/Prozedur_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Prozedur/Prozedur_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen zu den Must-Support Feldern", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Prozedur/Prozedur_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Prozedur/Prozedur_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Versicherungsverhaeltnis.md", + "title": "Versicherungsverhältnis (Coverage)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Versicherungsverhaeltnis/Versicherungsverhaeltnis_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Versicherungsverhaeltnis/Versicherungsverhaeltnis_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Versicherungsverhaeltnis/Versicherungsverhaeltnis_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Versicherungsverhaeltnis/Versicherungsverhaeltnis_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Versicherungsverhaeltnis/Versicherungsverhaeltnis_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Versicherungsverhaeltnis/Versicherungsverhaeltnis_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Angehoeriger.md", + "title": "Angehöriger (RelatedPerson)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Angehoeriger/Angehoeriger_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Angehoeriger/Angehoeriger_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Angehoeriger/Angehoeriger_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Angehoeriger/Angehoeriger_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Angehoeriger/Angehoeriger_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Angehoeriger/Angehoeriger_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_PersonImGesundheitsberuf.md", + "title": "PersonImGesundheitsberuf (Practitioner)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/PersonImGesundheitsberuf/PersonImGesundheitsberuf_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/PersonImGesundheitsberuf/PersonImGesundheitsberuf_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/PersonImGesundheitsberuf/PersonImGesundheitsberuf_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/PersonImGesundheitsberuf/PersonImGesundheitsberuf_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/PersonImGesundheitsberuf/PersonImGesundheitsberuf_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/PersonImGesundheitsberuf/PersonImGesundheitsberuf_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_BerichtSubsystem.md", + "title": "Bericht aus Subsystemen (Composition)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/BerichtSubsystem/BerichtSubsystem_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/BerichtSubsystem/BerichtSubsystem_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/BerichtSubsystem/BerichtSubsystem_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/BerichtSubsystem/BerichtSubsystem_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/BerichtSubsystem/BerichtSubsystem_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_CodeSystem.md", + "title": "Katalog (CodeSystem)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Katalog/CodeSystem_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Katalog/CodeSystem_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Katalog/CodeSystem_Interaktionen.md", + "title": "Interaktionen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Katalog/CodeSystem_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Katalog/CodeSystem_Beispiele.md", + "title": "Anmerkungen", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_ValueSet.md", + "title": "ValueSet (ValueSet)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/ValueSet/ValueSet_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/ValueSet/ValueSet_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/ValueSet/ValueSet_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/ValueSet/ValueSet_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/ValueSet/ValueSet_Interaktionen.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/ValueSet/ValueSet_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Binary.md", + "title": "Binary (Binary)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Binary/Binary_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Binary/ValueSet_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Binary/Binary_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Binary/Binary_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Binary/Binary_Interaktionen.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Binary/Binary_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + } + ] + } + ] + } + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json new file mode 100644 index 00000000..b01c441d --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json @@ -0,0 +1,54 @@ +{ + "resourceType": "Account", + "id": "AbrechnungsfallAmbulant", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "code": "AN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://test.krankenhaus.de/fhir/sid/abrechnungsnummer", + "value": "0123456789" + } + ], + "status": "active", + "type": { + "coding": [ + { + "code": "AMB", + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode" + } + ] + }, + "subject": [ + { + "reference": "Patient/PatientinMusterfrau" + } + ], + "coverage": [ + { + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/ExtensionAbrechnungsart", + "valueCoding": { + "code": "DRG", + "system": "http://fhir.de/CodeSystem/dkgev/Abrechnungsart", + "display": "Diagnosebezogene Fallgruppen" + } + } + ], + "coverage": { + "reference": "Coverage/CoverageGesetzlich" + } + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-JPEG-Example-short.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-JPEG-Example-short.json new file mode 100644 index 00000000..9b182005 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-JPEG-Example-short.json @@ -0,0 +1,6 @@ +{ + "resourceType": "Binary", + "id": "Binary-JPEG-Example-short", + "contentType": "image/jpeg", + "data": "4AAQSkZJRgABAQEB" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-JPEG-Example.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-JPEG-Example.json new file mode 100644 index 00000000..68e932cb --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-JPEG-Example.json @@ -0,0 +1,6 @@ +{ + "resourceType": "Binary", + "id": "Binary-JPEG-Example", + "contentType": "image/jpeg", + "data": "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" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-PDF-Example-short.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-PDF-Example-short.json new file mode 100644 index 00000000..e6ee26c4 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-PDF-Example-short.json @@ -0,0 +1,9 @@ +{ + "resourceType": "Binary", + "id": "Binary-PDF-Example-short", + "contentType": "application/pdf", + "securityContext": { + "reference": "Patient/PatientinMusterfrau" + }, + "data": "JVBERi0xLjUNJeLjz9MNCjEw" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-PDF-Example.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-PDF-Example.json new file mode 100644 index 00000000..0182887a --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Binary-Binary-PDF-Example.json @@ -0,0 +1,9 @@ +{ + "resourceType": "Binary", + "id": "Binary-PDF-Example", + "contentType": "application/pdf", + "securityContext": { + "reference": "Patient/example" + }, + "data": "JVBERi0xLjUNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDEzMDA2OC9PIDEyL0Ug MTI1NzM1L04gMS9UIDEyOTc2NC9IIFsgNTQ2IDIwNF0+Pg1lbmRvYmoNICAgICAgICAgICAgICAg DQo0MSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0 ZXIvRmxhdGVEZWNvZGUvSURbPDRDRDkwQkY3MkI2NjU5NkVCMEJDQzlBN0ZGNzIwMjE3PjwyOTkw ODAzRkY2QTc0OTQ4OEEwNTdBREQzRDdFQTM0Nj5dL0luZGV4WzEwIDU4XS9JbmZvIDkgMCBSL0xl bmd0aCAxMzcvUHJldiAxMjk3NjUvUm9vdCAxMSAwIFIvU2l6ZSA2OC9UeXBlL1hSZWYvV1sxIDMg MV0+PnN0cmVhbQ0KaN5iYmRgEGBgYmBgugciGf1AJMNmEMn2H0RyxIJI9slg9k4wuQNMHgCLZ4DJ NLBIJIjkagGbA2abeIDZmiAyvhFsMkic0fApWFwDRPoWgNmhIFIzHMyWBZFWWWD1YSCS/yhYXAFs yxUQyXoQSP6XmsbABHT/TLBKBsZBRAKDTvQFQIABAIHlFZoNCmVuZHN0cmVhbQ1lbmRvYmoNc3Rh cnR4cmVmDQowDQolJUVPRg0KICAgICAgICAgICAgIA0KNjcgMCBvYmoNPDwvRmlsdGVyL0ZsYXRl RGVjb2RlL0kgMTM3L0wgMTIxL0xlbmd0aCAxMTcvUyAzOD4+c3RyZWFtDQpo3mJgYJBlYGAqYGBg YHz+mgEVMAIxCwNHA7KYLBQzMIQy8DPsEVth4VD84E3jjcNb24X5lGQEAisY3OoSTPXFGFgSFZj9 Mm4wsCo4GMl0NTDKPGDWsf4RdqCuAW4846toqDVtYKsYf/JD+IxcAAEGAMGGGRoNCmVuZHN0cmVh bQ1lbmRvYmoNMTEgMCBvYmoNPDwvTWV0YWRhdGEgMiAwIFIvUGFnZUxhYmVscyA2IDAgUi9QYWdl cyA4IDAgUi9UeXBlL0NhdGFsb2c+Pg1lbmRvYmoNMTIgMCBvYmoNPDwvQ29udGVudHNbMTQgMCBS IDE1IDAgUiAxNiAwIFIgMTcgMCBSIDE4IDAgUiAxOSAwIFIgMjAgMCBSIDIxIDAgUl0vQ3JvcEJv eFswIDAgNjEyIDc5Ml0vTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1BhcmVudCA4IDAgUi9SZXNvdXJj ZXMgNDIgMCBSL1JvdGF0ZSAwL1R5cGUvUGFnZT4+DWVuZG9iag0xMyAwIG9iag08PC9GaWx0ZXIv RmxhdGVEZWNvZGUvRmlyc3QgMTkxL0xlbmd0aCAxNDM3L04gMjUvVHlwZS9PYmpTdG0+PnN0cmVh bQ0KaN7EWFtv4jgU/it+bDVi47sdaVSJQi9I04sKux0J8ZBChmY3EBRSqf33e44NNIRQLrPbCoU4 9rHPxZ8/H1tyQokUhAtFpCRcCSIVEQxemihliTTEKE6kJVaDSEgYNZYoSpgSjChGmNGCgAQXVBHo zpWCnjCUUfCtCLcG2jWMyUDeEKEYJzCwMDCeCokIoVGDEdRIohkYw+ANGjWMB0NLKzjRElRyRrAL A1M1qBCSk+/fg1aWZnl3Fg1j/Jhr9IaSh7Oz4OK1uOoWUYENV12G/vmGy2xaQF2vx9A9qMMiQ+d8 maNfvijQFV+U6IUvOsN9UaPNvmjQTF8M0UKv7D7Pht246Af37cugF78WQWcSjePWIPh59/R3PERL OhNGhHV9OxMOIVkUwXvqhzk76wedVus8mscjwnHSHgbQ8e6e/IrSeQyFG8KCbnPx2b0h9A/Kg97b LH6PQ5DNfPvZGfRtzofxtIDZpUGr0wYTYQqd3lY0u46T8XMBc01p0I69YIOD5GUajedEuhCen2ev /YaigjQENYRxMDbUcuAaL6NJkr6dtKI0ecqTU1+XpDEAxQcJK26jSRz8uG3e3La+LSRdfbfI42L4 HNxm+SRKXdWjt0iCQZ0CRIfN6TiNCQ26RTz5i1jqfUVRNDhPZkWWBz9LjjinMYAoU9WKEXibw1Cd 6a8MA5uP4jyZjk86I/A9Kd5Og4d4nMyL/O2kOcqe4tOg+zKbpfEEQwNj4wi97KrTvolmwbJT0H70 MVw3C5cYhqD78lSg0dAVBdAB/u5G8NgXfc71wFreF1QPBh964KdpFEGYoXXelw6Ag+BiOsxG4MnK qMb1SjHqgsBlf04TEIph7Xr8Lk0o44SBI1uhIWi4gIbgJWywUC6woa2FLlasgaOZJ1F6+o4E9904 T6PhPztgEG6BAaeH4qCscxWqx2TanM6T1fdlks+L1nOUL90rz6Vftz+ihQQz8j2++UvcWwZ6ManJ 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 N2pszN84vslj09HNhM2Jm3/IM8krzXu9JWxLV75y/qb8sa0eW5sLJAr4BcPbbLfVbEdt527v32G+ Y/+OT4XswmtFJkXlRR+KWcXXvjL9quKrhZ2xO/tLLEsO7sLs4u0a2u2w+2ipdGlO6dge3z3tZfSy wrLXe6P2Xi1fVl6zj7BPuG+kwqeic7/m/l37P1TGV96pcq5qrVaq3lE9d4B9YPCg48GWGuWaopr3 h7iH7tZ61LbXadeVH8Yczjj8tD60vvdrxteNDQoNRQ0fj/COjBwNPNrTaNXY2KTUVNIMNwubp45F Hrv5jes3nS2GLbWttNai4+C48Pizb6O/HTrhfaL7JONky3da31W3UdoK26H27PaZjviOkc7wzoFT K051d9l2tX1v9P2R02qnq87Inik5Szibf3bhXM652fOp56cvxF0Y647qfnBx1cXbPQE9/Ze8L125 7H75Yq9T77krdldOX7W5euoa41rHdcvr7X0WfW0/WPzQ1m/Z337D6kbnTeubXQPLB84OOgxeuOV6 6/Jtr9vX76y8MzAUMnR3OHJ45C777uS9pHsv72fcn3+w6SH6YeEjqUflj5Ue1/2o92PriOXImVHX 0b4nQU8ejLHGnv+U/tOH8fyn5KflE6oTjZNmk6en3KduPlv9bPx56vP56YKfpX+ufqH74rtfHH/p m1k1M/6S/3Lh1+JX8q+OvF72unvWf/bxm+Q383OFb+XfHn3HeNf7Puz9xHzmB+yHio96H7s+eX96 uJC8sPCbAAMA94Tz+w0KZW5kc3RyZWFtDWVuZG9iag0yMyAwIG9iag08PC9GaWx0ZXIvRmxhdGVE ZWNvZGUvTGVuZ3RoIDIwPj5zdHJlYW0NCmjemsBAT6DAMAoGAAAEGABBpACxDQplbmRzdHJlYW0N ZW5kb2JqDTI0IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTMyOTgvTGVuZ3Ro MSA0NTU4ND4+c3RyZWFtDQpo3rRbB3xVRfY+t70XQot0CMILj9AVREQEhBCSUEJJCCUJLYWE0Is0 QTECIgSwYFBREaKuBQFfYotrQxcVxcK6Yll37QUVFAvuAsm7/2/KeXl5FNnf7j/w5XxzptyZuXNn zpmZkEFEdamYLOoxOqN7zxP/fOoDaJ4DcvKXLPIF7t73LpHRmshpXTh/+pzffx9Zj8jTh6hOq+mz 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 x6Quk2gmdZhEMfEy8TBxmNhMLCYmE4MJaWK4TIJMqplUMTnF5CSTE0z+zeRfTH5ncpzJb0x+ZfIL k5+ZHGPyE5MfmRxlcoTJD0y+Z/Idk8NMvmXyDZOvmXzF5EsmXzD5nMlnTD5l8gmTfzL5B5OPmfyd yUdMPmTyAZP3mRxi8h6TvzF5l8lfmRxk8g6Tt5m8xeRNJgeYvMHkdSb7mbzG5FUmrzDZx+QvTF5m 8hKTvUxeZPICk+eZPMfkWSZ/ZvIMk0omTzN5ismTTJ5g8jiTCiblTAJMHmOyh8luJruYPMpkJ5NH mDzM5CEmDzL5E5MHmNzP5D4mZUx2MNnO5F4m25jcw+RuJncx2crkTiZ3MLmdyRYmpUxuY7KZya1M bmFyM5ObmGxispHJBiYlTNYzWcfkRiZrmdzAhM0eg80eg80eg80eg80eg80eg80eg80eg80eg80e g80eg80eg80eg80eg80eg80eg80eg80eYyETtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8M tn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8Mtn8M tn8Mtn8Mtn8MNnsMNnsMNnsMtnYMtnYMtnYMtnYMtnYMtnYMtnYMtnYMtnaMwY8LAqu5os2AtrCZ K9o0hVilQtdXtOkLUaxC1ymxsqJNPYhrVegaJVYosVyJqysuHASxrOLCwRBLlViixGIVt0iFrlJi oVIuqLgwEWK+EvOUmKuSzFFithKzKlonQ8xUYoYSRUpMV6KwonUSRIEKTVMiX4k8JXKVyFFiqhJT VL7JKjRJiYlKZCuRpUSmEhOUGK/EOCXGKpGhxBgl0pVIU2K0EqOUGKnECCVSlRheETsMYpgSQyti h0MMUSKlIjYVIrkidgREkhKDlUhUcYNUvgQlBqp8A5S4Uon+KmU/Jfqq7Fco0UeJy5XorcRlqrBe SlyqSumpxCVK9FCFdVfiYpXvIiW6KdFViS5KdFaikxIdVdEdlIhXZbZXwq9EO1V0nBI+la+tEm2U uFCJ1krEKtGqotUoiJZKtKhoNRqiuRLNlLKpEk2UsrESjZS4QMXFKNFQKRsoUV+JeiqurhLRStRR cVFKeJXwVLRMg3AqWqZD2EpYSmmqkKEESWG4SgRlEqNahaqUOKXESRV3QoX+rcS/lPhdieMVLcZC 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 mgo5X0gTIY2FNBLSUEgDIecJSRBSX0g9IXWF1BFSW0i8kFpC4oT4hfiEOEJsIZYQU4ghhDxiuELC QqqEVAo5KeSEkF+F/FvIv4T8IuRnIT8J+VHID0KOCzkm5Hsh3wk5KuSIkH8K+VbIN0IOC/layFdC vhTyhZDPhXwm5FMhnwj5WMhHQv4h5O9CPhTyNyEfCHlfyHtC3hVySMhfhfxFyDtC/izkoJC3hbwl 5E9C3hRyQMgbQl4Xsl/Ia0JeFfKKkH1C/ijkZSEvCdkr5EUhLwh5XshzQp4V8gchzwjZI+RpIU8J eVLIE0IeF1IhpFxISMhjQh4VslvILiGPCNkp5GEhDwl5UMgDQn4v5H4h9wm5V8gOIduFbBNyj5Ct Qu4WcpeQO4VsEXKHkNuF3CZks5BNQm4VslHILUJuFvI7ITcJ2SBkvZB1QsqErBWyRsiNQlYLuUGI mD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD2GmD3GAiFi /xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi /xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi/xhi9hhi9hhi9hhi7Rhi7Rhi7Rhi 7Rhi7Rhi7Rhi7Rhi7Rhi7RgDHmcCq7miZd9WsJkrWjaGWKFD11e07AVRqkPXaXFtRcs6ENfo0NVa LNdimRZXVVzQH2JpxQUDIJZosViLRTpuoQ5dqcUCrZxfcUEqxDwt5moxRyeZrcUsLWZWtEiHmKHF dC1KtJimRXFFizSIIh2aqkWhFgVa5GuRp8UULSbrfJN0aKIWE7QYr0WuFjlajNNirBZjtBitRbYW o7TI0iJTi5FajNBiuBbDtMjQYmhF4hCIIVoMrkgcCjFIi4EViRkQ6RWJwyDStBigRaqO66/zpWjR T+frq8UVWvTRKXtr0Utnv1yLnlpcpkUPLS7VhXXX4hJdSjctLtaiqy6sixYX6XwXatFZi05adNSi gxbttWini26rRbIus40WQS1a66KTtAjofK20aKnFBVq00CJRi+YVzUdANNOiaUXzkRDna9FEKxtr 0UgrG2rRQIvzdFyCFvW1sp4WdbWoo+NqaxGvRS0dF6eFXwtfRbNMCKeiWRaErYWllaYOGVqQEoar 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 YJxq3BjiQZK0UkiARSo5JRyDIPmB4vq//9kNCmVuZHN0cmVhbQ1lbmRvYmoNMzkgMCBvYmoNPDwv Qml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3BhY2UgNDMgMCBSL0ZpbHRlci9EQ1REZWNvZGUvSGVp Z2h0IDQxL0xlbmd0aCAxMzIxL1N1YnR5cGUvSW1hZ2UvVHlwZS9YT2JqZWN0L1dpZHRoIDcxPj5z dHJlYW0NCv/Y/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMT GBcSFBQUFBIXFxscHhwbFyQkJyckJDUzMzM1Ozs7Ozs7Ozs7OwENCwsNDg0QDg4QFA4PDhQUEBER EBQdFBQVFBQdJRoXFxcXGiUgIx4eHiMgKCglJSgoMjIwMjI7Ozs7Ozs7Ozs7/8AAEQgAKQBHAwEi AAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A 9VVfPtNOFfaDtLK3EO8CBonysujEr9S520Ew0dyT2AXIfWLrd3VrD0fCOylvuzrgdA39yVFmzQxQ lOZoANnlOVnmyR0qANymdgBu9B9WOpO6n0ejJeZfGx5PdzeStZcV9TOp14dTMSwFtGVdY3Gd2lnb 5rtUcM+LHEncgWnn8PtcxkAFQMiYeV/sUkkkpGqpJJJJSkkkklPFdVys3Itys8c1u+y4FPYOOjrf iEI9M+xYTOn4v6TLyfpP7lzvpPd8FsZGAWX0lwhtVxcf7XCk/Hsa622v+evd6VZ/dZ4hc5zWaWfJ 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 dHJlYW0NZW5kb2JqDTIgMCBvYmoNPDwvTGVuZ3RoIDM0MTIvU3VidHlwZS9YTUwvVHlwZS9NZXRh ZGF0YT4+c3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pO VGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJB ZG9iZSBYTVAgQ29yZSA1LjQtYzAwNSA3OC4xNDczMjYsIDIwMTIvMDgvMjMtMTM6MDM6MDMgICAg ICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y Mi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg ICAgICAgICAgIHhtbG5zOnBkZj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyIKICAgICAg ICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAg ICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAg IHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KICAgICAgICAg PHBkZjpQcm9kdWNlcj5BY3JvYmF0IERpc3RpbGxlciAxMS4wIChXaW5kb3dzKTwvcGRmOlByb2R1 Y2VyPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBTY3JpcHQ1LmRsbCBWZXJzaW9uIDUuMi4y PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE0LTA1LTEzVDEw OjQ1OjUyLTA1OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIw MTQtMDUtMTNUMTA6NDU6NTItMDU6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8ZGM6Zm9y bWF0PmFwcGxpY2F0aW9uL3BkZjwvZGM6Zm9ybWF0PgogICAgICAgICA8ZGM6dGl0bGU+CiAgICAg ICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1 bHQiPk1pY3Jvc29mdCBXb3JkIC0gRkhJUi1Dc3VpdGUuZG9jeDwvcmRmOmxpPgogICAgICAgICAg ICA8L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6dGl0bGU+CiAgICAgICAgIDxkYzpjcmVhdG9yPgog ICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT5Xb29keTwvcmRmOmxp PgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvZGM6Y3JlYXRvcj4KICAgICAgICAg PHhtcE1NOkRvY3VtZW50SUQ+dXVpZDpkNWNkNTNiZS00YWJlLTQ3YTMtOWJkNy02ODZmOGE3NDc4 NGI8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnV1aWQ6ZGQ1 MjEwM2ItMTU4NC00MjgwLTg4ZjItNmYyZjUzMjNkYjU3PC94bXBNTTpJbnN0YW5jZUlEPgogICAg ICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5k PSJ3Ij8+DQplbmRzdHJlYW0NZW5kb2JqDTMgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0Zp cnN0IDQvTGVuZ3RoIDQ5L04gMS9UeXBlL09ialN0bT4+c3RyZWFtDQpo3rJQMFCwsdF3zi/NK1Ew 1PfOTCmONjQCCgbF6odUFqTqBySmpxbb2QEEGADf+gutDQplbmRzdHJlYW0NZW5kb2JqDTQgMCBv YmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDQvTGVuZ3RoIDE3My9OIDEvVHlwZS9PYmpT dG0+PnN0cmVhbQ0KaN58zLEKwjAQgOFXuc1kaJrUZlBEEIvoUCgqdulSm4iB4Mnlivr2dnB2/79/ ARpWq3wz8h1JtIjuI/Mt+Z4DPqqevaiWhTaltmZudGltkWk703r2qybUnAYKT7bKxQgXT2mSYFWh CpnX6P5PGkI3Dp7EZiC89gxVSBxi9ATGKA2daMPD4St1UubnwNGLOkxpwhtDi+Qgg93+cMy2aQzs lcPhLdfrrwADAKY3QQENCmVuZHN0cmVhbQ1lbmRvYmoNNSAwIG9iag08PC9EZWNvZGVQYXJtczw8 L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvSURbPDRDRDkwQkY3 MkI2NjU5NkVCMEJDQzlBN0ZGNzIwMjE3PjwyOTkwODAzRkY2QTc0OTQ4OEEwNTdBREQzRDdFQTM0 Nj5dL0luZm8gOSAwIFIvTGVuZ3RoIDUwL1Jvb3QgMTEgMCBSL1NpemUgMTAvVHlwZS9YUmVmL1db MSAzIDFdPj5zdHJlYW0NCmjeYmIAASZGxtfqDExAVhuI5FsIZveCSEYuoOx/NhmwCAMjiGT6DyIZ GQACDACdPgUbDQplbmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0KMTE2DQolJUVPRg0K" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json new file mode 100644 index 00000000..f5bdd982 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json @@ -0,0 +1,179 @@ +{ + "resourceType": "Bundle", + "id": "ISiKBundle-Example", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" + ] + }, + "type": "document", + "identifier": { + "type": { + "coding": [ + { + "code": "FILL", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/subsystem-a/berichtbundlenummer", + "value": "0123456789" + }, + "timestamp": "2022-05-03T17:57:34+01:00", + "entry": [ + { + "resource": { + "resourceType": "Composition", + "id": "composition-blutdruck", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + ] + }, + "status": "final", + "text": { + "status": "extensions", + "div": "

Familienname:Fürstin von Musterfrau

Geburtsdatum:1964-08-12

PID:TestPID

Bericht-Status:final

Bericht-Typ:Berichtzusammenfassung / Document Summary

Datum:03.05.2022

Titel:Blutdruckmessung vom 3.5.2022

Autor:Gerät XY, Fa. Z, Modell T

" + }, + "identifier": { + "type": { + "coding": [ + { + "code": "FILL", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/system-a/berichtnummer", + "value": "0123456789" + }, + "type": { + "coding": [ + { + "code": "55112-7", + "system": "http://loinc.org" + } + ] + }, + "subject": { + "reference": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345" + }, + "encounter": { + "reference": "urn:uuid:74b46c1a-6fc9-11ed-a1eb-0242ac198765" + }, + "date": "2022-05-03", + "author": [ + { + "type": "Device", + "display": "Gerät XY, Fa. Z, Modell T" + } + ], + "title": "Blutdruckmessung vom 3.5.2022", + "section": [ + { + "title": "Messung", + "text": { + "status": "generated", + "div": "
SystolischDiastolischEinheitUhrzeit
140110mmHG17:15h
" + } + } + ] + }, + "fullUrl": "urn:uuid:74b471ba-6fc9-11ed-a1eb-0242ac120002" + }, + { + "resource": { + "resourceType": "Patient", + "id": "PatientinMusterfrauMinimal", + "identifier": [ + { + "type": { + "coding": [ + { + "code": "MR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/PID", + "value": "TestPID" + } + ], + "name": [ + { + "use": "official", + "family": "Fürstin von Musterfrau", + "given": [ + "Erika" + ], + "prefix": [ + "Dr." + ] + } + ], + "gender": "female", + "birthDate": "1964-08-12" + }, + "fullUrl": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345" + }, + { + "resource": { + "resourceType": "Encounter", + "id": "FachabteilungskontaktMinimal", + "identifier": [ + { + "type": { + "coding": [ + { + "code": "VN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://test.krankenhaus.de/fhir/sid/besuchsnummer", + "value": "0123456789" + } + ], + "status": "unknown", + "class": { + "code": "IMP", + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode" + }, + "type": [ + { + "coding": [ + { + "code": "operation", + "system": "http://fhir.de/CodeSystem/kontaktart-de" + } + ] + }, + { + "coding": [ + { + "code": "abteilungskontakt", + "system": "http://fhir.de/CodeSystem/Kontaktebene" + } + ] + } + ], + "serviceType": { + "coding": [ + { + "code": "0100", + "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel" + } + ] + }, + "subject": { + "reference": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345" + }, + "period": { + "start": "2022-05-03", + "end": "2022-05-05" + } + }, + "fullUrl": "urn:uuid:74b46c1a-6fc9-11ed-a1eb-0242ac198765" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json new file mode 100644 index 00000000..1c1c917b --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json @@ -0,0 +1,1686 @@ +{ + "resourceType": "CapabilityStatement", + "id": "ISiKCapabilityStatementBasisServer", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/CapabilityStatement/basis-server", + "version": "3.0.4", + "status": "active", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "implementationGuide": [ + "https://gematik.de/fhir/isik/v3/Basismodul/ImplementationGuide|3.0.4" + ], + "name": "ISiKCapabilityStatementBasisServer", + "title": "ISiK CapabilityStatement Basis Server", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "https://www.gematik.de" + } + ] + } + ], + "description": "Das vorliegende CapabilityStatement beschreibt alle verpflichtenden Interaktionen die ein ISiK-konformes System unterstützen muss um das Bestätigungsverfahren des Basismoduls zu bestehen.", + "jurisdiction": [ + { + "coding": [ + { + "code": "DE", + "system": "urn:iso:std:iso:3166", + "display": "Germany" + } + ] + } + ], + "kind": "requirements", + "fhirVersion": "4.0.1", + "format": [ + "application/fhir+xml", + "application/fhir+json" + ], + "rest": [ + { + "mode": "server", + "resource": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Patient", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Patient-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "family", + "definition": "http://hl7.org/fhir/SearchParameter/individual-family", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "given", + "definition": "http://hl7.org/fhir/SearchParameter/individual-given", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "birthdate", + "definition": "http://hl7.org/fhir/SearchParameter/individual-birthdate", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "gender", + "definition": "http://hl7.org/fhir/SearchParameter/individual-gender", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "name", + "definition": "http://hl7.org/fhir/SearchParameter/Patient-name", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address-city", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address-city", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address-country", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address-country", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address-postalcode", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address-postalcode", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "active", + "definition": "http://hl7.org/fhir/SearchParameter/Patient-active", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "telecom", + "definition": "http://hl7.org/fhir/SearchParameter/individual-telecom", + "type": "token" + } + ], + "searchRevInclude": [ + "Composition:patient", + "Composition:subject", + "Composition:author", + "Condition:patient", + "Condition:subject", + "Procedure:patient", + "Procedure:subject", + "Encounter:patient", + "Encounter:subject", + "Coverage:beneficiary", + "Coverage:subscriber", + "Coverage:patient", + "Coverage:payor", + "Account:subject", + "Account:patient" + ], + "_searchRevInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Encounter", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/Encounter-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "class", + "definition": "http://hl7.org/fhir/SearchParameter/Encounter-class", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "subject", + "definition": "http://hl7.org/fhir/SearchParameter/Encounter-subject", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "account", + "definition": "http://hl7.org/fhir/SearchParameter/Encounter-account", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "date", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-date", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "date-start", + "definition": "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-date-start", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "end-date", + "definition": "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-end-date", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "location", + "definition": "http://hl7.org/fhir/SearchParameter/Encounter-location", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "service-provider", + "definition": "http://hl7.org/fhir/SearchParameter/Encounter-service-provider", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + } + ], + "searchInclude": [ + "Encounter:patient", + "Encounter:subject", + "Encounter:part-of", + "Encounter:diagnosis", + "Encounter:account" + ], + "_searchInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchRevInclude": [ + "Encounter:part-of", + "Condition:encounter", + "Composition:encounter", + "Procedure:encounter" + ], + "_searchRevInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Account", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/Account-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Condition", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "clinical-status", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-clinical-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "subject", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-subject", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "encounter", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-encounter", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "recorded-date", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-recorded-date", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "related", + "definition": "http://fhir.de/SearchParameter/Condition-related", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "category", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-category", + "type": "token" + } + ], + "searchInclude": [ + "Condition:patient", + "Condition:subject", + "Condition:encounter" + ], + "_searchInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchRevInclude": [ + "Encounter:diagnosis" + ], + "_searchRevInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Procedure", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/Procedure-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "category", + "definition": "http://hl7.org/fhir/SearchParameter/Procedure-category", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "code", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "subject", + "definition": "http://hl7.org/fhir/SearchParameter/Procedure-subject", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "encounter", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-encounter", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "date", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-date", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + } + ], + "searchInclude": [ + "Procedure:patient", + "Procedure:subject", + "Procedure:encounter" + ], + "_searchInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchRevInclude": [ + "Encounter:diagnosis" + ], + "_searchRevInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Coverage", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich", + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Coverage-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/Coverage-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/Coverage-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "beneficiary", + "definition": "http://hl7.org/fhir/SearchParameter/Coverage-beneficiary", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "payor", + "definition": "http://hl7.org/fhir/SearchParameter/Coverage-payor", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "subscriber", + "definition": "http://hl7.org/fhir/SearchParameter/Coverage-subscriber", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + } + ], + "searchInclude": [ + "Coverage:subscriber", + "Coverage:patient", + "Coverage:payor", + "Coverage:beneficiary" + ], + "_searchInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "RelatedPerson", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/RelatedPerson-patient", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "name", + "definition": "http://hl7.org/fhir/SearchParameter/RelatedPerson-name", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address-city", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address-city", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address-country", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address-country", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address-postalcode", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address-postalcode", + "type": "string" + } + ], + "searchInclude": [ + "RelatedPerson:patient" + ], + "_searchInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchRevInclude": [ + "Coverage:subscriber", + "Coverage:payor" + ], + "_searchRevInclude": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Practitioner", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Practitioner-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "family", + "definition": "http://hl7.org/fhir/SearchParameter/individual-family", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "given", + "definition": "http://hl7.org/fhir/SearchParameter/individual-given", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/individual-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "gender", + "definition": "http://hl7.org/fhir/SearchParameter/individual-gender", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_profile", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-profile", + "type": "uri" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "name", + "definition": "http://hl7.org/fhir/SearchParameter/Practitioner-name", + "type": "string" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "ValueSet", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "url", + "definition": "http://hl7.org/fhir/SearchParameter/conformance-url", + "type": "uri" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "name", + "definition": "http://hl7.org/fhir/SearchParameter/conformance-name", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/conformance-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "version", + "definition": "http://hl7.org/fhir/SearchParameter/conformance-version", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "name": "context-type-value", + "definition": "http://hl7.org/fhir/SearchParameter/conformance-context-type-value", + "type": "composite" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "Composition", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Bundle", + "supportedProfile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" + ] + } + ] + } + ], + "document": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "mode": "consumer", + "profile": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json new file mode 100644 index 00000000..f7b0ceef --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json @@ -0,0 +1,24 @@ +{ + "resourceType": "CodeSystem", + "id": "CodeSystemExample", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem" + ] + }, + "version": "3.0.4", + "status": "active", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "url": "http://example.org/fhir/CodeSystem/TestKatalog", + "name": "TestKatalog", + "content": "complete", + "concept": [ + { + "code": "test", + "display": "Test", + "definition": "Dies ist ein Test-Code" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Composition-composition-blutdruck.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Composition-composition-blutdruck.json new file mode 100644 index 00000000..76fc6a8e --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Composition-composition-blutdruck.json @@ -0,0 +1,57 @@ +{ + "resourceType": "Composition", + "id": "composition-blutdruck", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + ] + }, + "status": "final", + "text": { + "status": "extensions", + "div": "

Familienname:Fürstin von Musterfrau

Geburtsdatum:1964-08-12

PID:TestPID

Bericht-Status:final

Bericht-Typ:Berichtzusammenfassung / Document Summary

Datum:03.05.2022

Titel:Blutdruckmessung vom 3.5.2022

Autor:Gerät XY, Fa. Z, Modell T

" + }, + "identifier": { + "type": { + "coding": [ + { + "code": "FILL", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/system-a/berichtnummer", + "value": "0123456789" + }, + "type": { + "coding": [ + { + "code": "55112-7", + "system": "http://loinc.org" + } + ] + }, + "subject": { + "reference": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345" + }, + "encounter": { + "reference": "urn:uuid:74b46c1a-6fc9-11ed-a1eb-0242ac198765" + }, + "date": "2022-05-03", + "author": [ + { + "type": "Device", + "display": "Gerät XY, Fa. Z, Modell T" + } + ], + "title": "Blutdruckmessung vom 3.5.2022", + "section": [ + { + "title": "Messung", + "text": { + "status": "generated", + "div": "
SystolischDiastolischEinheitUhrzeit
140110mmHG17:15h
" + } + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json new file mode 100644 index 00000000..d98d35df --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json @@ -0,0 +1,25 @@ +{ + "resourceType": "Condition", + "id": "BehandlungsDiagnoseFreitext", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ] + }, + "clinicalStatus": { + "coding": [ + { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "code": { + "text": "Behandlungsdiagnose" + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "onsetDateTime": "2019-09-02", + "recordedDate": "2021-01-01" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json new file mode 100644 index 00000000..fbf03d61 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json @@ -0,0 +1,39 @@ +{ + "resourceType": "Condition", + "id": "Example-condition-ausrufezeichen-primaer", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ] + }, + "clinicalStatus": { + "coding": [ + { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "code": { + "coding": [ + { + "version": "2019", + "code": "F16.1", + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "display": "Psychische Verhaltensstörung durch Halluzinogene (Akute Intoxikation)" + } + ] + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "encounter": { + "reference": "Encounter/Fachabteilungskontakt" + }, + "recordedDate": "2021-05-24", + "note": [ + { + "text": "Beispiel für eine Anmerkung" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json new file mode 100644 index 00000000..7425dc39 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json @@ -0,0 +1,56 @@ +{ + "resourceType": "Condition", + "id": "Example-condition-ausrufezeichen-sekundaer", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ] + }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/condition-related", + "valueReference": { + "reference": "Condition/Example-condition-ausrufezeichen-primaer" + } + } + ], + "clinicalStatus": { + "coding": [ + { + "code": "recurrence", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "code": { + "coding": [ + { + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/icd-10-gm-mehrfachcodierungs-kennzeichen", + "valueCoding": { + "code": "!", + "system": "http://fhir.de/CodeSystem/icd-10-gm-mehrfachcodierungs-kennzeichen" + } + } + ], + "version": "2019", + "code": "U69.32", + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "display": "Intravenöser Konsum sonstiger psychotroper Substanzen" + } + ] + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "encounter": { + "reference": "Encounter/Fachabteilungskontakt" + }, + "recordedDate": "2021-05-24", + "note": [ + { + "text": "Beispiel für eine Anmerkung" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json new file mode 100644 index 00000000..65166f9a --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json @@ -0,0 +1,49 @@ +{ + "resourceType": "Condition", + "id": "Example-condition-kreuz-stern-primaer", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ] + }, + "clinicalStatus": { + "coding": [ + { + "code": "recurrence", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "code": { + "coding": [ + { + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/icd-10-gm-mehrfachcodierungs-kennzeichen", + "valueCoding": { + "version": "2021", + "code": "†", + "system": "http://fhir.de/CodeSystem/icd-10-gm-mehrfachcodierungs-kennzeichen" + } + } + ], + "version": "2019", + "code": "E10.30", + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "display": "Diabetes mellitus" + } + ] + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "encounter": { + "reference": "Encounter/Fachabteilungskontakt" + }, + "recordedDate": "2021-05-24", + "note": [ + { + "text": "Beispiel für eine Anmerkung" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json new file mode 100644 index 00000000..a4bcdcfa --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json @@ -0,0 +1,56 @@ +{ + "resourceType": "Condition", + "id": "Example-condition-kreuz-stern-sekundaer", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ] + }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/condition-related", + "valueReference": { + "reference": "Condition/Example-condition-kreuz-stern-primaer" + } + } + ], + "clinicalStatus": { + "coding": [ + { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "code": { + "coding": [ + { + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/icd-10-gm-mehrfachcodierungs-kennzeichen", + "valueCoding": { + "code": "*", + "system": "http://fhir.de/CodeSystem/icd-10-gm-mehrfachcodierungs-kennzeichen" + } + } + ], + "version": "2019", + "code": "H36.0", + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "display": "Retinopathia diabetica" + } + ] + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "encounter": { + "reference": "Encounter/Fachabteilungskontakt" + }, + "recordedDate": "2021-05-24", + "note": [ + { + "text": "Beispiel für eine Anmerkung" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json new file mode 100644 index 00000000..072fa3a3 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json @@ -0,0 +1,35 @@ +{ + "resourceType": "Condition", + "id": "MittelgradigeIntelligenzminderung", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + ] + }, + "clinicalStatus": { + "coding": [ + { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "code": { + "coding": [ + { + "version": "2020", + "code": "F71", + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "display": "Mittelgradige Intelligenzminderung" + } + ] + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "encounter": { + "reference": "Encounter/Fachabteilungskontakt" + }, + "onsetDateTime": "2019-09-02", + "recordedDate": "2021-01-01" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json new file mode 100644 index 00000000..2c8ac62a --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json @@ -0,0 +1,38 @@ +{ + "resourceType": "Coverage", + "id": "CoverageGesetzlich", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich" + ] + }, + "type": { + "coding": [ + { + "code": "GKV", + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" + } + ] + }, + "payor": [ + { + "identifier": { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "XX" + } + ] + }, + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "260326822" + }, + "display": "Eine Gesundheitskasse" + } + ], + "status": "active", + "beneficiary": { + "reference": "Patient/PatientinMusterfrau" + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json new file mode 100644 index 00000000..480bd83f --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json @@ -0,0 +1,26 @@ +{ + "resourceType": "Coverage", + "id": "CoveragePrivat", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "SEL" + } + ] + }, + "status": "active", + "beneficiary": { + "reference": "Patient/PatientinMusterfrau" + }, + "payor": [ + { + "reference": "Patient/PatientinMusterfrau" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json new file mode 100644 index 00000000..8b091bce --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json @@ -0,0 +1,177 @@ +{ + "resourceType": "Encounter", + "id": "Fachabteilungskontakt", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + ] + }, + "type": [ + { + "coding": [ + { + "code": "abteilungskontakt", + "system": "http://fhir.de/CodeSystem/Kontaktebene" + } + ] + }, + { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/kontaktart-de", + "code": "operation" + } + ] + } + ], + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/Aufnahmegrund", + "extension": [ + { + "url": "ErsteUndZweiteStelle", + "valueCoding": { + "code": "01", + "system": "http://fhir.de/CodeSystem/dkgev/AufnahmegrundErsteUndZweiteStelle", + "display": "Krankenhausbehandlung, vollstationär" + } + }, + { + "url": "DritteStelle", + "valueCoding": { + "code": "0", + "system": "http://fhir.de/CodeSystem/dkgev/AufnahmegrundDritteStelle", + "display": "Anderes" + } + }, + { + "url": "VierteStelle", + "valueCoding": { + "code": "1", + "system": "http://fhir.de/CodeSystem/dkgev/AufnahmegrundVierteStelle", + "display": "Normalfall" + } + } + ] + } + ], + "identifier": [ + { + "type": { + "coding": [ + { + "code": "VN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://test.krankenhaus.de/fhir/sid/besuchsnummer", + "value": "0123456789" + } + ], + "status": "finished", + "class": { + "code": "IMP", + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode" + }, + "serviceType": { + "coding": [ + { + "code": "0100", + "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel" + } + ] + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "period": { + "start": "2021-02-12", + "end": "2021-02-13" + }, + "diagnosis": [ + { + "condition": { + "reference": "Condition/BehandlungsDiagnoseFreitext" + }, + "use": { + "coding": [ + { + "code": "treatment-diagnosis", + "system": "http://fhir.de/CodeSystem/KontaktDiagnoseProzedur" + } + ] + } + } + ], + "account": [ + { + "reference": "Account/AbrechnungsfallAmbulant", + "identifier": { + "value": "XZY" + } + } + ], + "hospitalization": { + "admitSource": { + "coding": [ + { + "code": "E", + "system": "http://fhir.de/CodeSystem/dgkev/Aufnahmeanlass" + } + ] + }, + "dischargeDisposition": { + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/Entlassungsgrund", + "extension": [ + { + "url": "ErsteUndZweiteStelle", + "valueCoding": { + "code": "01", + "system": "http://fhir.de/CodeSystem/dkgev/EntlassungsgrundErsteUndZweiteStelle", + "display": "Behandlung regulär beendet" + } + }, + { + "url": "DritteStelle", + "valueCoding": { + "code": "1", + "system": "http://fhir.de/CodeSystem/dkgev/EntlassungsgrundDritteStelle", + "display": "arbeitsfähig entlassen" + } + } + ] + } + ] + } + }, + "location": [ + { + "physicalType": { + "coding": [ + { + "code": "bd", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type", + "display": "Bed" + } + ] + }, + "location": { + "identifier": { + "system": "https://test.krankenhaus.de/fhir/sid/locationid", + "value": "123" + }, + "display": "Bett 123" + } + } + ], + "serviceProvider": { + "identifier": { + "system": "https://test.krankenhaus.de/fhir/sid/fachabteilungsid", + "value": "XYZ" + }, + "display": "Fachabteilung XYZ" + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Encounter-FachabteilungskontaktMinimal.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Encounter-FachabteilungskontaktMinimal.json new file mode 100644 index 00000000..15270c63 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Encounter-FachabteilungskontaktMinimal.json @@ -0,0 +1,56 @@ +{ + "resourceType": "Encounter", + "id": "FachabteilungskontaktMinimal", + "identifier": [ + { + "type": { + "coding": [ + { + "code": "VN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://test.krankenhaus.de/fhir/sid/besuchsnummer", + "value": "0123456789" + } + ], + "status": "unknown", + "class": { + "code": "IMP", + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode" + }, + "type": [ + { + "coding": [ + { + "code": "operation", + "system": "http://fhir.de/CodeSystem/kontaktart-de" + } + ] + }, + { + "coding": [ + { + "code": "abteilungskontakt", + "system": "http://fhir.de/CodeSystem/Kontaktebene" + } + ] + } + ], + "serviceType": { + "coding": [ + { + "code": "0100", + "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel" + } + ] + }, + "subject": { + "reference": "urn:uuid:3bada18a-6fd2-11ed-a1eb-0242ac112345" + }, + "period": { + "start": "2022-05-03", + "end": "2022-05-05" + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json new file mode 100644 index 00000000..40ed7ceb --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json @@ -0,0 +1,156 @@ +{ + "resourceType": "Patient", + "id": "PatientinMusterfrau", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "code": "MR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/PID", + "value": "TestPID" + }, + { + "type": { + "coding": [ + { + "code": "GKV", + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" + } + ] + }, + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "A123456789" + }, + { + "use": "secondary", + "type": { + "coding": [ + { + "code": "PKV", + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" + } + ] + }, + "value": "1234567890", + "assigner": { + "display": "Test PKV AG" + } + } + ], + "name": [ + { + "use": "official", + "family": "Fürstin von Musterfrau", + "_family": { + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/humanname-namenszusatz", + "valueString": "Fürstin" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Musterfrau" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix", + "valueString": "von" + } + ] + }, + "given": [ + "Erika" + ], + "prefix": [ + "Dr." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + }, + { + "use": "maiden", + "family": "Gabler", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Gabler" + } + ] + } + } + ], + "active": true, + "gender": "female", + "birthDate": "1964-08-12", + "address": [ + { + "type": "both", + "line": [ + "Musterweg 2", + "3. Etage" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Musterweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator", + "valueString": "3. Etage" + } + ] + } + ], + "city": "Musterhausen", + "postalCode": "98764", + "country": "DE" + }, + { + "type": "postal", + "line": [ + "Postfach 8 15" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox", + "valueString": "Postfach 8 15" + } + ] + } + ], + "city": "Musterhausen", + "postalCode": "98764", + "country": "DE" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Patient-PatientinMusterfrauMinimal.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Patient-PatientinMusterfrauMinimal.json new file mode 100644 index 00000000..7dc32be3 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Patient-PatientinMusterfrauMinimal.json @@ -0,0 +1,32 @@ +{ + "resourceType": "Patient", + "id": "PatientinMusterfrauMinimal", + "identifier": [ + { + "type": { + "coding": [ + { + "code": "MR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/PID", + "value": "TestPID" + } + ], + "name": [ + { + "use": "official", + "family": "Fürstin von Musterfrau", + "given": [ + "Erika" + ], + "prefix": [ + "Dr." + ] + } + ], + "gender": "female", + "birthDate": "1964-08-12" +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json new file mode 100644 index 00000000..75e29d14 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json @@ -0,0 +1,116 @@ +{ + "resourceType": "Practitioner", + "id": "PractitionerWalterArzt", + "meta": { + "source": "http://krankenhaus.de", + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" + ] + }, + "name": [ + { + "use": "official", + "text": "Walter Arzt", + "family": "Arzt", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Arzt" + } + ] + }, + "given": [ + "Walter" + ] + }, + { + "use": "maiden", + "text": "Gross", + "family": "Gross", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Gross" + } + ] + } + } + ], + "identifier": [ + { + "type": { + "coding": [ + { + "code": "LANR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "123456789" + }, + { + "type": { + "coding": [ + { + "code": "DN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "http://fhir.de/sid/bundesaerztekammer/efn", + "value": "123456789123456" + } + ], + "active": true, + "address": [ + { + "type": "both", + "line": [ + "Schmiedegasse 16" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "16" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Schmiedegasse" + } + ] + } + ], + "city": "Potsdam", + "postalCode": "14469", + "country": "DE" + } + ], + "gender": "male", + "qualification": [ + { + "code": { + "coding": [ + { + "version": "http://snomed.info/sct/900000000000207008/version/20200131", + "code": "112247003", + "system": "http://snomed.info/sct", + "display": "Medical doctor (occupation)" + } + ] + } + } + ], + "_birthDate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason", + "valueCode": "masked" + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Procedure-Appendektomie.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Procedure-Appendektomie.json new file mode 100644 index 00000000..0b47b908 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/Procedure-Appendektomie.json @@ -0,0 +1,50 @@ +{ + "resourceType": "Procedure", + "id": "Appendektomie", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum", + "valueDateTime": "2020-04-23" + } + ], + "status": "completed", + "category": { + "coding": [ + { + "code": "387713003", + "system": "http://snomed.info/sct", + "display": "Surgical procedure (procedure)" + } + ] + }, + "code": { + "coding": [ + { + "code": "80146002", + "system": "http://snomed.info/sct", + "display": "Excision of appendix (procedure)" + }, + { + "version": "2020", + "code": "5-470", + "system": "http://fhir.de/CodeSystem/bfarm/ops", + "display": "Appendektomie" + } + ], + "text": "Entfernung des Blinddarms" + }, + "subject": { + "reference": "Patient/PatientinMusterfrau" + }, + "performedDateTime": "2020-04-23", + "note": [ + { + "text": "Testnotiz" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json new file mode 100644 index 00000000..248ad70c --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json @@ -0,0 +1,31 @@ +{ + "resourceType": "RelatedPerson", + "id": "ISiKAngehoerigerMustermann", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" + ] + }, + "patient": { + "reference": "Patient/PatientinMusterfrau" + }, + "name": [ + { + "family": "Mustermann", + "given": [ + "Maxine" + ] + } + ], + "address": [ + { + "type": "both", + "line": [ + "Milchstr. 42" + ], + "city": "Beispielstadt", + "postalCode": "78143", + "country": "DE" + } + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json new file mode 100644 index 00000000..2e99da4f --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json @@ -0,0 +1,29 @@ +{ + "resourceType": "SearchParameter", + "id": "Encounter-date-start", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-date-start", + "description": "The actual start date of the Encounter (Backport from R5). The parameter cannot repeat or have multiple values.", + "version": "3.0.4", + "status": "active", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "name": "date-start", + "code": "date-start", + "base": [ + "Encounter" + ], + "type": "date", + "expression": "Encounter.period.start", + "comparator": [ + "eq", + "ne", + "gt", + "ge", + "lt", + "le", + "sa", + "eb", + "ap" + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json new file mode 100644 index 00000000..0d8b439e --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json @@ -0,0 +1,29 @@ +{ + "resourceType": "SearchParameter", + "id": "Encounter-end-date", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-end-date", + "description": "The actual end date of the Encounter (Backport from R5). The parameter cannot repeat or have multiple values.", + "version": "3.0.4", + "status": "active", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "name": "end-date", + "code": "end-date", + "base": [ + "Encounter" + ], + "type": "date", + "expression": "Encounter.period.end", + "comparator": [ + "eq", + "ne", + "gt", + "ge", + "lt", + "le", + "sa", + "eb", + "ap" + ] +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json new file mode 100644 index 00000000..03acd2f7 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json @@ -0,0 +1,180 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKAbrechnungsfall", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall", + "version": "3.0.4", + "name": "ISiKAbrechnungsfall", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil beschreibt die Gruppierung von medizinischen Leistungen in ISiK-Szenarien", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Account", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Account", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Account.id", + "path": "Account.id", + "mustSupport": true + }, + { + "id": "Account.extension", + "path": "Account.extension", + "mustSupport": true + }, + { + "id": "Account.extension:AbrechnungsDiagnoseProzedur", + "path": "Account.extension", + "sliceName": "AbrechnungsDiagnoseProzedur", + "comment": "In dieser Extension SOLL das 'Use' Element nur einfach verwendet werden, um eine eindeutige Zuweisung (1 zu N) gegenüber dem Element 'Referenz' zu gewährleisten.", + "min": 0, + "max": "*", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/ExtensionAbrechnungsDiagnoseProzedur" + ] + } + ], + "mustSupport": true + }, + { + "id": "Account.identifier", + "path": "Account.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Account.identifier:Abrechnungsnummer", + "path": "Account.identifier", + "sliceName": "Abrechnungsnummer", + "min": 1, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/identifier-abrechnungsnummer" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "AN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Account.identifier:Abrechnungsnummer.type", + "path": "Account.identifier.type", + "mustSupport": true + }, + { + "id": "Account.identifier:Abrechnungsnummer.system", + "path": "Account.identifier.system", + "mustSupport": true + }, + { + "id": "Account.identifier:Abrechnungsnummer.value", + "path": "Account.identifier.value", + "mustSupport": true + }, + { + "id": "Account.status", + "path": "Account.status", + "mustSupport": true + }, + { + "id": "Account.type", + "path": "Account.type", + "min": 1, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKAccountType" + } + }, + { + "id": "Account.subject", + "path": "Account.subject", + "min": 1, + "max": "1", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Patient" + ] + } + ], + "mustSupport": true + }, + { + "id": "Account.coverage", + "path": "Account.coverage", + "mustSupport": true + }, + { + "id": "Account.coverage.extension", + "path": "Account.coverage.extension", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Account.coverage.extension:Abrechnungsart", + "path": "Account.coverage.extension", + "sliceName": "Abrechnungsart", + "min": 1, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/ExtensionAbrechnungsart" + ] + } + ], + "mustSupport": true + }, + { + "id": "Account.coverage.coverage", + "path": "Account.coverage.coverage", + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json new file mode 100644 index 00000000..7b74d400 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json @@ -0,0 +1,278 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKAngehoeriger", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger", + "version": "3.0.4", + "name": "ISiKAngehoeriger", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht die Nutzung von Angehörigen in ISiK Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "RelatedPerson", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/RelatedPerson", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "RelatedPerson", + "path": "RelatedPerson", + "constraint": [ + { + "key": "relatedp-de-1", + "severity": "error", + "human": "Falls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werden", + "expression": "gender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" + } + ] + }, + { + "id": "RelatedPerson.patient", + "path": "RelatedPerson.patient", + "mustSupport": true + }, + { + "id": "RelatedPerson.patient.reference", + "path": "RelatedPerson.patient.reference", + "min": 1 + }, + { + "id": "RelatedPerson.name", + "path": "RelatedPerson.name", + "min": 1, + "max": "1", + "type": [ + { + "code": "HumanName", + "profile": [ + "http://fhir.de/StructureDefinition/humanname-de-basis" + ] + } + ], + "mustSupport": true + }, + { + "id": "RelatedPerson.gender.extension:Geschlecht-Administrativ", + "path": "RelatedPerson.gender.extension", + "sliceName": "Geschlecht-Administrativ", + "min": 0, + "max": "*", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/gender-amtlich-de" + ] + } + ], + "mustSupport": false + }, + { + "id": "RelatedPerson.address", + "path": "RelatedPerson.address", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "comment": "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification.", + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift", + "path": "RelatedPerson.address", + "sliceName": "Strassenanschrift", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "both" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" + } + ], + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.extension:Stadtteil", + "path": "RelatedPerson.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.type", + "path": "RelatedPerson.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.line", + "path": "RelatedPerson.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.line.extension:Strasse", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Strasse", + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.line.extension:Hausnummer", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Hausnummer", + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.line.extension:Adresszusatz", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Adresszusatz", + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.line.extension:Postfach", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Postfach", + "max": "0" + }, + { + "id": "RelatedPerson.address:Strassenanschrift.city", + "path": "RelatedPerson.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.postalCode", + "path": "RelatedPerson.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Strassenanschrift.country", + "path": "RelatedPerson.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach", + "path": "RelatedPerson.address", + "sliceName": "Postfach", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "postal" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" + } + ], + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach.type", + "path": "RelatedPerson.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach.line", + "path": "RelatedPerson.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach.line.extension:Strasse", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Strasse", + "max": "0" + }, + { + "id": "RelatedPerson.address:Postfach.line.extension:Hausnummer", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Hausnummer", + "max": "0" + }, + { + "id": "RelatedPerson.address:Postfach.line.extension:Adresszusatz", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Adresszusatz", + "max": "0" + }, + { + "id": "RelatedPerson.address:Postfach.line.extension:Postfach", + "path": "RelatedPerson.address.line.extension", + "sliceName": "Postfach", + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach.city", + "path": "RelatedPerson.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach.postalCode", + "path": "RelatedPerson.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "RelatedPerson.address:Postfach.country", + "path": "RelatedPerson.address.country", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json new file mode 100644 index 00000000..576c455e --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json @@ -0,0 +1,138 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKBerichtBundle", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle", + "version": "3.0.4", + "name": "ISiKBerichtBundle", + "title": "ISiKBerichtBundle", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "A document style representation of the receipt (complete, self-contained, signed)", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "cda", + "uri": "http://hl7.org/v3/cda", + "name": "CDA (R2)" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Bundle", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Bundle", + "path": "Bundle", + "constraint": [ + { + "key": "ISiK-docBundle-1", + "severity": "error", + "human": "All referenced Resources must be contained in the Bundle", + "expression": "Bundle.entry.descendants().reference.distinct().subsetOf(%context.entry.fullUrl)", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" + } + ] + }, + { + "id": "Bundle.identifier", + "path": "Bundle.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.type", + "path": "Bundle.type", + "fixedCode": "document", + "mustSupport": true + }, + { + "id": "Bundle.timestamp", + "path": "Bundle.timestamp", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry", + "path": "Bundle.entry", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "resource" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry.fullUrl", + "path": "Bundle.entry.fullUrl", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry.resource", + "path": "Bundle.entry.resource", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry.search", + "path": "Bundle.entry.search", + "max": "0" + }, + { + "id": "Bundle.entry.request", + "path": "Bundle.entry.request", + "max": "0" + }, + { + "id": "Bundle.entry.response", + "path": "Bundle.entry.response", + "max": "0" + }, + { + "id": "Bundle.entry:Composition", + "path": "Bundle.entry", + "sliceName": "Composition", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Bundle.entry:Composition.resource", + "path": "Bundle.entry.resource", + "type": [ + { + "code": "Composition", + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + ] + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json new file mode 100644 index 00000000..0bf4a699 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json @@ -0,0 +1,330 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKBerichtSubSysteme", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme", + "version": "3.0.4", + "name": "ISiKBerichtSubSysteme", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht die Krankenhaus-interne Übermittlung eines Berichtes in Form eines Dokumentes, die in ISiK Szenarien von Subsystemen an Primärsysteme gesendet werden.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "cda", + "uri": "http://hl7.org/v3/cda", + "name": "CDA (R2)" + }, + { + "identity": "fhirdocumentreference", + "uri": "http://hl7.org/fhir/documentreference", + "name": "FHIR DocumentReference" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Composition", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Composition", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Composition.id", + "path": "Composition.id", + "mustSupport": true + }, + { + "id": "Composition.text", + "path": "Composition.text", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.text.status", + "path": "Composition.text.status", + "fixedCode": "extensions", + "mustSupport": true + }, + { + "id": "Composition.text.div", + "path": "Composition.text.div", + "mustSupport": true + }, + { + "id": "Composition.identifier", + "path": "Composition.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.identifier.system", + "path": "Composition.identifier.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.identifier.value", + "path": "Composition.identifier.value", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.status", + "path": "Composition.status", + "fixedCode": "final", + "mustSupport": true + }, + { + "id": "Composition.type", + "path": "Composition.type", + "mustSupport": true + }, + { + "id": "Composition.type.coding", + "path": "Composition.type.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.type.coding:LOINC", + "path": "Composition.type.coding", + "sliceName": "LOINC", + "min": 0, + "max": "1", + "patternCoding": { + "code": "55112-7", + "system": "http://loinc.org" + }, + "mustSupport": true + }, + { + "id": "Composition.type.coding:LOINC.system", + "path": "Composition.type.coding.system", + "min": 1, + "fixedUri": "http://loinc.org" + }, + { + "id": "Composition.type.coding:LOINC.code", + "path": "Composition.type.coding.code", + "min": 1 + }, + { + "id": "Composition.type.coding:KDL", + "path": "Composition.type.coding", + "sliceName": "KDL", + "min": 0, + "max": "1", + "patternCoding": { + "system": "http://dvmd.de/fhir/CodeSystem/kdl" + }, + "mustSupport": true + }, + { + "id": "Composition.type.coding:KDL.system", + "path": "Composition.type.coding.system", + "min": 1, + "fixedUri": "http://dvmd.de/fhir/CodeSystem/kdl" + }, + { + "id": "Composition.type.coding:KDL.code", + "path": "Composition.type.coding.code", + "min": 1, + "constraint": [ + { + "key": "kdl-1", + "severity": "warning", + "human": "KDL-Code ungültig", + "expression": "matches('^[A-Z]{2}[0-9]{6}$')", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + } + ] + }, + { + "id": "Composition.type.coding:IHE", + "path": "Composition.type.coding", + "sliceName": "IHE", + "min": 0, + "max": "1", + "patternCoding": { + "system": "http://ihe-d.de/CodeSystems/IHEXDStypeCode" + }, + "mustSupport": true + }, + { + "id": "Composition.type.coding:IHE.system", + "path": "Composition.type.coding.system", + "min": 1, + "fixedUri": "http://ihe-d.de/CodeSystems/IHEXDStypeCode" + }, + { + "id": "Composition.type.coding:IHE.code", + "path": "Composition.type.coding.code", + "min": 1 + }, + { + "id": "Composition.category", + "path": "Composition.category", + "mustSupport": true + }, + { + "id": "Composition.category.coding", + "path": "Composition.category.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "mustSupport": true + }, + { + "id": "Composition.category.coding:LOINC", + "path": "Composition.category.coding", + "sliceName": "LOINC", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Composition.category.coding:LOINC.system", + "path": "Composition.category.coding.system", + "min": 1, + "fixedUri": "http://loinc.org" + }, + { + "id": "Composition.category.coding:LOINC.code", + "path": "Composition.category.coding.code", + "min": 1 + }, + { + "id": "Composition.category.coding:IHE", + "path": "Composition.category.coding", + "sliceName": "IHE", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Composition.category.coding:IHE.system", + "path": "Composition.category.coding.system", + "min": 1, + "fixedUri": "http://ihe-d.de/CodeSystems/IHEXDSclassCode" + }, + { + "id": "Composition.category.coding:IHE.code", + "path": "Composition.category.coding.code", + "min": 1 + }, + { + "id": "Composition.subject", + "path": "Composition.subject", + "min": 1, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Patient" + ] + } + ], + "mustSupport": true + }, + { + "id": "Composition.subject.reference", + "path": "Composition.subject.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.encounter", + "path": "Composition.encounter", + "mustSupport": true + }, + { + "id": "Composition.date", + "path": "Composition.date", + "mustSupport": true + }, + { + "id": "Composition.author", + "path": "Composition.author", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/PractitionerRole", + "http://hl7.org/fhir/StructureDefinition/Device", + "http://hl7.org/fhir/StructureDefinition/Organization", + "http://hl7.org/fhir/StructureDefinition/RelatedPerson", + "http://hl7.org/fhir/StructureDefinition/Patient", + "http://hl7.org/fhir/StructureDefinition/Practitioner" + ] + } + ], + "mustSupport": true + }, + { + "id": "Composition.author.display", + "path": "Composition.author.display", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.title", + "path": "Composition.title", + "mustSupport": true + }, + { + "id": "Composition.section", + "path": "Composition.section", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.section.title", + "path": "Composition.section.title", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.section.text", + "path": "Composition.section.text", + "min": 1, + "mustSupport": true + }, + { + "id": "Composition.section.section", + "path": "Composition.section.section", + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json new file mode 100644 index 00000000..7175073f --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json @@ -0,0 +1,44 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKBinary", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBinary", + "version": "3.0.4", + "name": "ISiKBinary", + "title": "ISiKBinary", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Die Binary-Ressource erlaubt den Umgang mit FHIR-fremden Formaten (z.B. PDFs, Bilder, CDA) innerhalb des FHIR-Frameworks.\r\nDazu werden die Daten base64-codiert in der Binary-Ressource (in XML oder JSON) transportiert oder \r\nüber die REST-API am Binary-Endpunkt in ihrem nativen Format bereitgestellt. \r\nBinary-Ressourcen werden von Attachment-Elementen in DocumentReference-Ressourcen verlinkt und damit in den Kontext anderer FHIR-Ressourcen\r\n(z.B. Patient und Encounter) gestellt. ", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Binary", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Binary", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Binary.contentType", + "path": "Binary.contentType", + "short": "MimeType der Binärdaten", + "comment": "z.B. "application/pdf" oder "image/jpeg" ", + "mustSupport": true + }, + { + "id": "Binary.data", + "path": "Binary.data", + "short": "Base64-codierte Binärdaten", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json new file mode 100644 index 00000000..a4a1dc96 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json @@ -0,0 +1,100 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKCodeSystem", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem", + "version": "3.0.4", + "name": "ISiKCodeSystem", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil beschreibt die maschinenlesbare Repräsentation von system-sepzifischen Kodierungen in ISiK-Szenarien", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "objimpl", + "uri": "http://hl7.org/fhir/object-implementation", + "name": "Object Implementation Information" + } + ], + "kind": "resource", + "abstract": false, + "type": "CodeSystem", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/CodeSystem", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "CodeSystem.id", + "path": "CodeSystem.id", + "min": 1, + "mustSupport": true + }, + { + "id": "CodeSystem.url", + "path": "CodeSystem.url", + "min": 1, + "mustSupport": true + }, + { + "id": "CodeSystem.version", + "path": "CodeSystem.version", + "min": 1, + "mustSupport": true + }, + { + "id": "CodeSystem.name", + "path": "CodeSystem.name", + "min": 1, + "mustSupport": true + }, + { + "id": "CodeSystem.status", + "path": "CodeSystem.status", + "mustSupport": true + }, + { + "id": "CodeSystem.content", + "path": "CodeSystem.content", + "mustSupport": true + }, + { + "id": "CodeSystem.concept", + "path": "CodeSystem.concept", + "min": 1, + "mustSupport": true + }, + { + "id": "CodeSystem.concept.code", + "path": "CodeSystem.concept.code", + "mustSupport": true + }, + { + "id": "CodeSystem.concept.display", + "path": "CodeSystem.concept.display", + "min": 1, + "mustSupport": true + }, + { + "id": "CodeSystem.concept.definition", + "path": "CodeSystem.concept.definition", + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json new file mode 100644 index 00000000..b343a1d8 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json @@ -0,0 +1,344 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKDiagnose", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose", + "version": "3.0.4", + "name": "ISiKDiagnose", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht die Nutzung von Diagnosen in ISiK Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "sct-concept", + "uri": "http://snomed.info/conceptdomain", + "name": "SNOMED CT Concept Domain Binding" + }, + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "sct-attr", + "uri": "http://snomed.org/attributebinding", + "name": "SNOMED CT Attribute Binding" + } + ], + "kind": "resource", + "abstract": false, + "type": "Condition", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Condition", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Condition", + "path": "Condition", + "constraint": [ + { + "key": "isik-con1", + "severity": "error", + "human": "Falls eine kodierte Diagnose vorliegt muss angegeben werden durch welchen Kontakt diese Dokumentation erfolgte.", + "expression": "code.coding.exists() implies encounter.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + } + ] + }, + { + "id": "Condition.id", + "path": "Condition.id", + "mustSupport": true + }, + { + "id": "Condition.extension", + "path": "Condition.extension", + "mustSupport": true + }, + { + "id": "Condition.extension:related", + "path": "Condition.extension", + "sliceName": "related", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/condition-related" + ] + } + ], + "mustSupport": true + }, + { + "id": "Condition.clinicalStatus", + "path": "Condition.clinicalStatus", + "mustSupport": true + }, + { + "id": "Condition.code", + "path": "Condition.code", + "min": 1, + "constraint": [ + { + "key": "icd-text-1", + "severity": "error", + "human": "Entweder MUSS eine kodierte Diagnose vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.", + "expression": "coding.exists().not() implies text.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + } + ], + "mustSupport": true + }, + { + "id": "Condition.code.coding", + "path": "Condition.code.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "mustSupport": true + }, + { + "id": "Condition.code.coding:ICD-10-GM", + "path": "Condition.code.coding", + "sliceName": "ICD-10-GM", + "min": 0, + "max": "1", + "type": [ + { + "code": "Coding", + "profile": [ + "http://fhir.de/StructureDefinition/CodingICD10GM" + ] + } + ], + "patternCoding": { + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm" + }, + "mustSupport": true + }, + { + "id": "Condition.code.coding:ICD-10-GM.extension:Mehrfachcodierungs-Kennzeichen", + "path": "Condition.code.coding.extension", + "sliceName": "Mehrfachcodierungs-Kennzeichen", + "mustSupport": true + }, + { + "id": "Condition.code.coding:ICD-10-GM.extension:Seitenlokalisation", + "path": "Condition.code.coding.extension", + "sliceName": "Seitenlokalisation", + "mustSupport": true + }, + { + "id": "Condition.code.coding:ICD-10-GM.extension:Diagnosesicherheit", + "path": "Condition.code.coding.extension", + "sliceName": "Diagnosesicherheit", + "mustSupport": true + }, + { + "id": "Condition.code.coding:Alpha-ID", + "path": "Condition.code.coding", + "sliceName": "Alpha-ID", + "min": 0, + "max": "1", + "type": [ + { + "code": "Coding", + "profile": [ + "http://fhir.de/StructureDefinition/CodingAlphaID" + ] + } + ], + "patternCoding": { + "system": "http://fhir.de/CodeSystem/alpha-id" + }, + "mustSupport": true + }, + { + "id": "Condition.code.coding:Alpha-ID.system", + "path": "Condition.code.coding.system", + "mustSupport": true + }, + { + "id": "Condition.code.coding:Alpha-ID.code", + "path": "Condition.code.coding.code", + "mustSupport": true + }, + { + "id": "Condition.code.coding:SNOMED-CT", + "path": "Condition.code.coding", + "sliceName": "SNOMED-CT", + "min": 0, + "max": "1", + "patternCoding": { + "system": "http://snomed.info/sct" + }, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/DiagnosesSCT" + } + }, + { + "id": "Condition.code.coding:SNOMED-CT.system", + "path": "Condition.code.coding.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Condition.code.coding:SNOMED-CT.code", + "path": "Condition.code.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Condition.code.coding:Orphanet", + "path": "Condition.code.coding", + "sliceName": "Orphanet", + "min": 0, + "max": "1", + "patternCoding": { + "system": "http://www.orpha.net" + }, + "mustSupport": true + }, + { + "id": "Condition.code.coding:Orphanet.system", + "path": "Condition.code.coding.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Condition.code.coding:Orphanet.code", + "path": "Condition.code.coding.code", + "min": 1 + }, + { + "id": "Condition.subject", + "path": "Condition.subject", + "mustSupport": true + }, + { + "id": "Condition.subject.reference", + "path": "Condition.subject.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Condition.encounter", + "path": "Condition.encounter", + "mustSupport": true + }, + { + "id": "Condition.onset[x]", + "path": "Condition.onset[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "rules": "closed" + }, + "type": [ + { + "code": "dateTime" + }, + { + "code": "Period" + } + ] + }, + { + "id": "Condition.onset[x]:onsetPeriod", + "path": "Condition.onset[x]", + "sliceName": "onsetPeriod", + "min": 0, + "max": "1", + "type": [ + { + "code": "Period" + } + ] + }, + { + "id": "Condition.onset[x]:onsetPeriod.start.extension:Lebensphase-Start", + "path": "Condition.onset[x].start.extension", + "sliceName": "Lebensphase-Start", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/lebensphase" + ] + } + ] + }, + { + "id": "Condition.onset[x]:onsetPeriod.end.extension:Lebensphase-Ende", + "path": "Condition.onset[x].end.extension", + "sliceName": "Lebensphase-Ende", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/lebensphase" + ] + } + ] + }, + { + "id": "Condition.onset[x]:onsetDateTime", + "path": "Condition.onset[x]", + "sliceName": "onsetDateTime", + "min": 0, + "max": "1", + "type": [ + { + "code": "dateTime" + } + ] + }, + { + "id": "Condition.recordedDate", + "path": "Condition.recordedDate", + "min": 1, + "mustSupport": true + }, + { + "id": "Condition.note", + "path": "Condition.note", + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json new file mode 100644 index 00000000..543ea0a4 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json @@ -0,0 +1,715 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKKontaktGesundheitseinrichtung", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung", + "version": "3.0.4", + "name": "ISiKKontaktGesundheitseinrichtung", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht die Herstellung eines Fallbezuges welcher in der Mehrheit der ISiK Szenarien im Krankenhaus essentiell ist.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Encounter", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Encounter", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Encounter", + "path": "Encounter", + "constraint": [ + { + "key": "ISiK-enc-1", + "severity": "error", + "human": "Abgeschlossene, ambulante Kontakte sollten einen Start-Zeitpunkt angeben", + "expression": "status = 'finished' and class = 'AMB' implies period.start.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-2", + "severity": "error", + "human": "Abgeschlossene, stationäre Kontakte sollten einen Start- und End-Zeitpunkt angeben", + "expression": "status = 'finished' and class = 'IMP' implies period.start.exists() and period.end.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-3", + "severity": "error", + "human": "Geplante Kontakte sollten keinen Start- oder End-Zeitpunkt angeben", + "expression": "status = 'planned' implies period.exists().not()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-4", + "severity": "warning", + "human": "Geplante Kontakte sollten die Extensions für den geplanten Start- oder End-Zeitpunkt verwenden", + "expression": "status = 'planned' implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate').exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-5", + "severity": "error", + "human": "In-Durchführung befindliche Kontakte sollten einen Start-Zeitpunkt angeben", + "expression": "status = 'in-progress' implies period.start.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-6", + "severity": "error", + "human": "Kontakte mit Abwesenheitsstatus sollten einen Start-Zeitpunkt angeben", + "expression": "status = 'onleave' implies period.start.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-7", + "severity": "warning", + "human": "Kontakte mit unbekannten Status sollten einen Start-Zeitpunkt angeben", + "expression": "status = 'unknown' implies period.start.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + }, + { + "key": "ISiK-enc-8", + "severity": "error", + "human": "Die Rolle der assoziierten Diagnose(n) darf nicht 'Billing' sein", + "expression": "diagnosis.use.all(coding.code != 'billing')", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + } + ] + }, + { + "id": "Encounter.id", + "path": "Encounter.id", + "mustSupport": true + }, + { + "id": "Encounter.extension", + "path": "Encounter.extension", + "mustSupport": true + }, + { + "id": "Encounter.extension:Aufnahmegrund", + "path": "Encounter.extension", + "sliceName": "Aufnahmegrund", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/Aufnahmegrund" + ] + } + ], + "mustSupport": true + }, + { + "id": "Encounter.extension:Aufnahmegrund.extension:ErsteUndZweiteStelle", + "path": "Encounter.extension.extension", + "sliceName": "ErsteUndZweiteStelle", + "mustSupport": true + }, + { + "id": "Encounter.extension:Aufnahmegrund.extension:DritteStelle", + "path": "Encounter.extension.extension", + "sliceName": "DritteStelle", + "mustSupport": true + }, + { + "id": "Encounter.extension:Aufnahmegrund.extension:VierteStelle", + "path": "Encounter.extension.extension", + "sliceName": "VierteStelle", + "mustSupport": true + }, + { + "id": "Encounter.extension:plannedStartDate", + "path": "Encounter.extension", + "sliceName": "plannedStartDate", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate" + ] + } + ], + "mustSupport": true + }, + { + "id": "Encounter.extension:plannedEndDate", + "path": "Encounter.extension", + "sliceName": "plannedEndDate", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedEndDate" + ] + } + ], + "mustSupport": true + }, + { + "id": "Encounter.identifier", + "path": "Encounter.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer", + "path": "Encounter.identifier", + "sliceName": "Aufnahmenummer", + "min": 0, + "max": "1", + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "VN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer.type", + "path": "Encounter.identifier.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer.type.coding", + "path": "Encounter.identifier.type.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer.type.coding:vn-type", + "path": "Encounter.identifier.type.coding", + "sliceName": "vn-type", + "min": 1, + "max": "1", + "patternCoding": { + "code": "VN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + }, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer.type.coding:vn-type.system", + "path": "Encounter.identifier.type.coding.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer.type.coding:vn-type.code", + "path": "Encounter.identifier.type.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.identifier:Aufnahmenummer.system", + "path": "Encounter.identifier.system", + "min": 1 + }, + { + "id": "Encounter.identifier:Aufnahmenummer.value", + "path": "Encounter.identifier.value", + "min": 1 + }, + { + "id": "Encounter.status", + "path": "Encounter.status", + "short": "planned | in-progress | onleave | finished | cancelled +", + "definition": "planned | in-progress | onleave | finished | cancelled +.", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/EncounterStatusDe", + "description": "Eingeschränkter Status vgl. FHIR R5" + } + }, + { + "id": "Encounter.class", + "path": "Encounter.class", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/EncounterClassDE" + } + }, + { + "id": "Encounter.type", + "path": "Encounter.type", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.type:Kontaktebene", + "path": "Encounter.type", + "sliceName": "Kontaktebene", + "min": 1, + "max": "1", + "patternCodeableConcept": { + "coding": [ + { + "code": "abteilungskontakt", + "system": "http://fhir.de/CodeSystem/Kontaktebene" + } + ] + }, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/kontaktebene-de", + "description": "Kontaktebene" + } + }, + { + "id": "Encounter.type:KontaktArt", + "path": "Encounter.type", + "sliceName": "KontaktArt", + "min": 0, + "max": "1", + "patternCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/kontaktart-de" + } + ] + }, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/kontaktart-de" + } + }, + { + "id": "Encounter.serviceType", + "path": "Encounter.serviceType", + "mustSupport": true + }, + { + "id": "Encounter.serviceType.coding", + "path": "Encounter.serviceType.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.serviceType.coding:Fachabteilungsschluessel", + "path": "Encounter.serviceType.coding", + "sliceName": "Fachabteilungsschluessel", + "min": 0, + "max": "1", + "patternCoding": { + "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel" + }, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel" + } + }, + { + "id": "Encounter.serviceType.coding:ErweiterterFachabteilungsschluessel", + "path": "Encounter.serviceType.coding", + "sliceName": "ErweiterterFachabteilungsschluessel", + "min": 0, + "max": "1", + "patternCoding": { + "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert" + }, + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel-erweitert" + } + }, + { + "id": "Encounter.subject", + "path": "Encounter.subject", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.subject.reference", + "path": "Encounter.subject.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.period", + "path": "Encounter.period", + "mustSupport": true + }, + { + "id": "Encounter.period.start", + "path": "Encounter.period.start", + "mustSupport": true + }, + { + "id": "Encounter.period.end", + "path": "Encounter.period.end", + "mustSupport": true + }, + { + "id": "Encounter.diagnosis", + "path": "Encounter.diagnosis", + "mustSupport": true + }, + { + "id": "Encounter.diagnosis.condition", + "path": "Encounter.diagnosis.condition", + "mustSupport": true + }, + { + "id": "Encounter.diagnosis.condition.reference", + "path": "Encounter.diagnosis.condition.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.diagnosis.use", + "path": "Encounter.diagnosis.use", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.diagnosis.use.coding", + "path": "Encounter.diagnosis.use.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.diagnosis.use.coding:Diagnosetyp", + "path": "Encounter.diagnosis.use.coding", + "sliceName": "Diagnosetyp", + "min": 1, + "max": "1", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/DiagnoseTyp" + } + }, + { + "id": "Encounter.diagnosis.use.coding:DiagnosesubTyp", + "path": "Encounter.diagnosis.use.coding", + "sliceName": "DiagnosesubTyp", + "min": 0, + "max": "*", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/Diagnosesubtyp" + } + }, + { + "id": "Encounter.diagnosis.rank", + "path": "Encounter.diagnosis.rank", + "mustSupport": true + }, + { + "id": "Encounter.account", + "path": "Encounter.account", + "mustSupport": true + }, + { + "id": "Encounter.account.reference", + "path": "Encounter.account.reference", + "mustSupport": true + }, + { + "id": "Encounter.account.identifier", + "path": "Encounter.account.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.hospitalization", + "path": "Encounter.hospitalization", + "mustSupport": true + }, + { + "id": "Encounter.hospitalization.extension:Wahlleistung", + "path": "Encounter.hospitalization.extension", + "sliceName": "Wahlleistung", + "min": 0, + "max": "*", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/Wahlleistung" + ] + } + ], + "mustSupport": true + }, + { + "id": "Encounter.hospitalization.admitSource", + "path": "Encounter.hospitalization.admitSource", + "mustSupport": true, + "binding": { + "strength": "extensible", + "valueSet": "http://fhir.de/ValueSet/dgkev/Aufnahmeanlass" + } + }, + { + "id": "Encounter.hospitalization.dischargeDisposition", + "path": "Encounter.hospitalization.dischargeDisposition", + "mustSupport": true + }, + { + "id": "Encounter.hospitalization.dischargeDisposition.extension:Entlassungsgrund", + "path": "Encounter.hospitalization.dischargeDisposition.extension", + "sliceName": "Entlassungsgrund", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/Entlassungsgrund" + ] + } + ], + "mustSupport": true + }, + { + "id": "Encounter.location", + "path": "Encounter.location", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "physicalType" + } + ], + "rules": "open" + }, + "mustSupport": true + }, + { + "id": "Encounter.location.physicalType", + "path": "Encounter.location.physicalType", + "binding": { + "strength": "extensible", + "valueSet": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType" + } + }, + { + "id": "Encounter.location:Zimmer", + "path": "Encounter.location", + "sliceName": "Zimmer", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Encounter.location:Zimmer.location", + "path": "Encounter.location.location", + "mustSupport": true + }, + { + "id": "Encounter.location:Zimmer.location.identifier", + "path": "Encounter.location.location.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.location:Zimmer.location.display", + "path": "Encounter.location.location.display", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.location:Zimmer.physicalType", + "path": "Encounter.location.physicalType", + "comment": "Die Kodierung in diesem Slice entstammt folgendem Valueset - gelistet unter .location.(All slices.)physicalType: https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType", + "min": 1, + "patternCodeableConcept": { + "coding": [ + { + "code": "ro", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type" + } + ] + }, + "mustSupport": true + }, + { + "id": "Encounter.location:Bett", + "path": "Encounter.location", + "sliceName": "Bett", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Encounter.location:Bett.location", + "path": "Encounter.location.location", + "mustSupport": true + }, + { + "id": "Encounter.location:Bett.location.identifier", + "path": "Encounter.location.location.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.location:Bett.location.display", + "path": "Encounter.location.location.display", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.location:Bett.physicalType", + "path": "Encounter.location.physicalType", + "comment": "Die Kodierung in diesem Slice entstammt folgendem Valueset - gelistet unter .location.(All slices.)physicalType: https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType", + "min": 1, + "patternCodeableConcept": { + "coding": [ + { + "code": "bd", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type" + } + ] + }, + "mustSupport": true + }, + { + "id": "Encounter.location:Station", + "path": "Encounter.location", + "sliceName": "Station", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Encounter.location:Station.location", + "path": "Encounter.location.location", + "mustSupport": true + }, + { + "id": "Encounter.location:Station.location.identifier", + "path": "Encounter.location.location.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.location:Station.location.display", + "path": "Encounter.location.location.display", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.location:Station.physicalType", + "path": "Encounter.location.physicalType", + "comment": "Die Kodierung in diesem Slice entstammt folgendem Valueset - gelistet unter .location.(All slices.)physicalType: https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType", + "min": 1, + "patternCodeableConcept": { + "coding": [ + { + "code": "wa", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type" + } + ] + }, + "mustSupport": true + }, + { + "id": "Encounter.serviceProvider", + "path": "Encounter.serviceProvider", + "mustSupport": true + }, + { + "id": "Encounter.serviceProvider.identifier", + "path": "Encounter.serviceProvider.identifier", + "min": 1, + "mustSupport": true + }, + { + "id": "Encounter.serviceProvider.display", + "path": "Encounter.serviceProvider.display", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json new file mode 100644 index 00000000..3bd8da26 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json @@ -0,0 +1,624 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKPatient", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient", + "version": "3.0.4", + "name": "ISiKPatient", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil beschreibt die Nutzung von administrativen Patientendaten in ISiK-Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "cda", + "uri": "http://hl7.org/v3/cda", + "name": "CDA (R2)" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "loinc", + "uri": "http://loinc.org", + "name": "LOINC code for the element" + } + ], + "kind": "resource", + "abstract": false, + "type": "Patient", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Patient", + "path": "Patient", + "constraint": [ + { + "key": "isik-pat-1", + "severity": "error", + "human": "Falls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werden", + "expression": "gender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" + } + ] + }, + { + "id": "Patient.id", + "path": "Patient.id", + "mustSupport": true + }, + { + "id": "Patient.identifier", + "path": "Patient.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.identifier:VersichertenId-GKV", + "path": "Patient.identifier", + "sliceName": "VersichertenId-GKV", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-kvid-10" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "GKV", + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Patient.identifier:VersichertenId-GKV.type", + "path": "Patient.identifier.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.identifier:VersichertenId-GKV.system", + "path": "Patient.identifier.system", + "mustSupport": true + }, + { + "id": "Patient.identifier:VersichertenId-GKV.value", + "path": "Patient.identifier.value", + "mustSupport": true + }, + { + "id": "Patient.identifier:Patientennummer", + "path": "Patient.identifier", + "sliceName": "Patientennummer", + "min": 1, + "max": "*", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-pid" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "MR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Patient.identifier:Patientennummer.type", + "path": "Patient.identifier.type", + "mustSupport": true + }, + { + "id": "Patient.identifier:Patientennummer.system", + "path": "Patient.identifier.system", + "mustSupport": true + }, + { + "id": "Patient.identifier:Patientennummer.value", + "path": "Patient.identifier.value", + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV", + "path": "Patient.identifier", + "sliceName": "Versichertennummer_PKV", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-pkv" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "PKV", + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" + } + ] + } + }, + "mustSupport": false + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.use", + "path": "Patient.identifier.use", + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.type", + "path": "Patient.identifier.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.value", + "path": "Patient.identifier.value", + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.assigner", + "path": "Patient.identifier.assigner", + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.assigner.identifier.system", + "path": "Patient.identifier.assigner.identifier.system", + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.assigner.identifier.value", + "path": "Patient.identifier.assigner.identifier.value", + "mustSupport": true + }, + { + "id": "Patient.identifier:Versichertennummer_PKV.assigner.display", + "path": "Patient.identifier.assigner.display", + "mustSupport": true + }, + { + "id": "Patient.active", + "path": "Patient.active", + "mustSupport": true + }, + { + "id": "Patient.name", + "path": "Patient.name", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "comment": "In order to maintain the differntiations of name parts as given in the VSDM dataset or qualify prefixes as academic titles, vendors can opt to support the extensions specified in the German HumanName Base Profile https://simplifier.net/basisprofil-de-r4/humannamedebasis\r\nThis is however not required within the scope of this specification.", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.name:Name", + "path": "Patient.name", + "sliceName": "Name", + "min": 1, + "max": "1", + "type": [ + { + "code": "HumanName", + "profile": [ + "http://fhir.de/StructureDefinition/humanname-de-basis" + ] + } + ], + "patternHumanName": { + "use": "official" + }, + "mustSupport": true + }, + { + "id": "Patient.name:Name.use", + "path": "Patient.name.use", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.name:Name.family", + "path": "Patient.name.family", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.name:Name.family.extension:namenszusatz", + "path": "Patient.name.family.extension", + "sliceName": "namenszusatz", + "mustSupport": true + }, + { + "id": "Patient.name:Name.family.extension:nachname", + "path": "Patient.name.family.extension", + "sliceName": "nachname", + "mustSupport": true + }, + { + "id": "Patient.name:Name.family.extension:vorsatzwort", + "path": "Patient.name.family.extension", + "sliceName": "vorsatzwort", + "mustSupport": true + }, + { + "id": "Patient.name:Name.given", + "path": "Patient.name.given", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.name:Name.prefix", + "path": "Patient.name.prefix", + "mustSupport": true + }, + { + "id": "Patient.name:Name.prefix.extension:prefix-qualifier", + "path": "Patient.name.prefix.extension", + "sliceName": "prefix-qualifier", + "max": "1", + "mustSupport": true + }, + { + "id": "Patient.name:Name.prefix.extension:prefix-qualifier.value[x]", + "path": "Patient.name.prefix.extension.value[x]", + "fixedCode": "AC" + }, + { + "id": "Patient.name:Geburtsname", + "path": "Patient.name", + "sliceName": "Geburtsname", + "min": 0, + "max": "1", + "type": [ + { + "code": "HumanName", + "profile": [ + "http://fhir.de/StructureDefinition/humanname-de-basis" + ] + } + ], + "patternHumanName": { + "use": "maiden" + }, + "mustSupport": true + }, + { + "id": "Patient.name:Geburtsname.use", + "path": "Patient.name.use", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.name:Geburtsname.family", + "path": "Patient.name.family", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.name:Geburtsname.family.extension:namenszusatz", + "path": "Patient.name.family.extension", + "sliceName": "namenszusatz", + "mustSupport": true + }, + { + "id": "Patient.name:Geburtsname.family.extension:nachname", + "path": "Patient.name.family.extension", + "sliceName": "nachname", + "mustSupport": true + }, + { + "id": "Patient.name:Geburtsname.family.extension:vorsatzwort", + "path": "Patient.name.family.extension", + "sliceName": "vorsatzwort", + "mustSupport": true + }, + { + "id": "Patient.name:Geburtsname.given", + "path": "Patient.name.given", + "max": "0" + }, + { + "id": "Patient.name:Geburtsname.prefix", + "path": "Patient.name.prefix", + "max": "0" + }, + { + "id": "Patient.telecom.system", + "path": "Patient.telecom.system", + "min": 1 + }, + { + "id": "Patient.telecom.value", + "path": "Patient.telecom.value", + "min": 1 + }, + { + "id": "Patient.gender", + "path": "Patient.gender", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.gender.extension:Geschlecht-Administrativ", + "path": "Patient.gender.extension", + "sliceName": "Geschlecht-Administrativ", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/gender-amtlich-de" + ] + } + ], + "mustSupport": true + }, + { + "id": "Patient.birthDate", + "path": "Patient.birthDate", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.birthDate.extension:Data-Absent-Reason", + "path": "Patient.birthDate.extension", + "sliceName": "Data-Absent-Reason", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/data-absent-reason" + ] + } + ], + "mustSupport": true + }, + { + "id": "Patient.birthDate.extension:Data-Absent-Reason.value[x]", + "path": "Patient.birthDate.extension.value[x]", + "fixedCode": "unknown", + "mustSupport": true + }, + { + "id": "Patient.address", + "path": "Patient.address", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "comment": "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification.", + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift", + "path": "Patient.address", + "sliceName": "Strassenanschrift", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "both" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" + } + ], + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.extension:Stadtteil", + "path": "Patient.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.type", + "path": "Patient.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.line", + "path": "Patient.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.line.extension:Strasse", + "path": "Patient.address.line.extension", + "sliceName": "Strasse", + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.line.extension:Hausnummer", + "path": "Patient.address.line.extension", + "sliceName": "Hausnummer", + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.line.extension:Adresszusatz", + "path": "Patient.address.line.extension", + "sliceName": "Adresszusatz", + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.line.extension:Postfach", + "path": "Patient.address.line.extension", + "sliceName": "Postfach", + "max": "0" + }, + { + "id": "Patient.address:Strassenanschrift.city", + "path": "Patient.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.postalCode", + "path": "Patient.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Strassenanschrift.country", + "path": "Patient.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Postfach", + "path": "Patient.address", + "sliceName": "Postfach", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "postal" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" + } + ], + "mustSupport": true + }, + { + "id": "Patient.address:Postfach.type", + "path": "Patient.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Postfach.line", + "path": "Patient.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Postfach.line.extension:Strasse", + "path": "Patient.address.line.extension", + "sliceName": "Strasse", + "max": "0" + }, + { + "id": "Patient.address:Postfach.line.extension:Hausnummer", + "path": "Patient.address.line.extension", + "sliceName": "Hausnummer", + "max": "0" + }, + { + "id": "Patient.address:Postfach.line.extension:Adresszusatz", + "path": "Patient.address.line.extension", + "sliceName": "Adresszusatz", + "max": "0" + }, + { + "id": "Patient.address:Postfach.line.extension:Postfach", + "path": "Patient.address.line.extension", + "sliceName": "Postfach", + "mustSupport": true + }, + { + "id": "Patient.address:Postfach.city", + "path": "Patient.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Postfach.postalCode", + "path": "Patient.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Patient.address:Postfach.country", + "path": "Patient.address.country", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json new file mode 100644 index 00000000..1dfc52c8 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json @@ -0,0 +1,498 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKPersonImGesundheitsberuf", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf", + "version": "3.0.4", + "name": "ISiKPersonImGesundheitsberuf", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht die Nutzung von in Gesundheitsberufen tätigen Personen in ISiK Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "servd", + "uri": "http://www.omg.org/spec/ServD/1.0/", + "name": "ServD" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Practitioner", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Practitioner", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Practitioner", + "path": "Practitioner", + "constraint": [ + { + "key": "prac-de-1", + "severity": "error", + "human": "Die amtliche Differenzierung der Geschlechtsangabe 'other' darf nur gefüllt sein, wenn das Geschlecht 'other' angegeben ist", + "expression": "gender='other' or gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').empty()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" + } + ] + }, + { + "id": "Practitioner.id", + "path": "Practitioner.id", + "mustSupport": true + }, + { + "id": "Practitioner.identifier", + "path": "Practitioner.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.identifier:Arztnummer", + "path": "Practitioner.identifier", + "sliceName": "Arztnummer", + "min": 0, + "max": "*", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-lanr" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "LANR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Practitioner.identifier:Arztnummer.type", + "path": "Practitioner.identifier.type", + "min": 1 + }, + { + "id": "Practitioner.identifier:EFN", + "path": "Practitioner.identifier", + "sliceName": "EFN", + "comment": "In bestimmten KIS wird keine EFN geführt, da diese aus Compliance-Gründen getrennt in HR-Systemen vorgehalten wird (Hinweis kam von Stakeholder), daher soll der entsprechende Test im Test-System mit \"warningOnly\" ausgegeben werden.", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-efn" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "DN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Practitioner.identifier:EFN.type", + "path": "Practitioner.identifier.type", + "min": 1 + }, + { + "id": "Practitioner.identifier:TelematikId", + "path": "Practitioner.identifier", + "sliceName": "TelematikId", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-telematik-id" + ] + } + ], + "patternIdentifier": { + "type": { + "coding": [ + { + "code": "PRN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + } + }, + "mustSupport": true + }, + { + "id": "Practitioner.identifier:TelematikId.type", + "path": "Practitioner.identifier.type", + "min": 1 + }, + { + "id": "Practitioner.name", + "path": "Practitioner.name", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.name:Name", + "path": "Practitioner.name", + "sliceName": "Name", + "min": 1, + "max": "1", + "type": [ + { + "code": "HumanName", + "profile": [ + "http://fhir.de/StructureDefinition/humanname-de-basis" + ] + } + ], + "patternHumanName": { + "use": "official" + }, + "mustSupport": true + }, + { + "id": "Practitioner.name:Name.use", + "path": "Practitioner.name.use", + "min": 1, + "fixedCode": "official", + "mustSupport": true + }, + { + "id": "Practitioner.name:Name.family", + "path": "Practitioner.name.family", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.name:Name.given", + "path": "Practitioner.name.given", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.name:Name.prefix", + "path": "Practitioner.name.prefix", + "mustSupport": true + }, + { + "id": "Practitioner.name:Geburtsname", + "path": "Practitioner.name", + "sliceName": "Geburtsname", + "min": 0, + "max": "1", + "type": [ + { + "code": "HumanName", + "profile": [ + "http://fhir.de/StructureDefinition/humanname-de-basis" + ] + } + ], + "patternHumanName": { + "use": "maiden" + } + }, + { + "id": "Practitioner.name:Geburtsname.use", + "path": "Practitioner.name.use", + "min": 1, + "fixedCode": "maiden", + "mustSupport": true + }, + { + "id": "Practitioner.name:Geburtsname.family", + "path": "Practitioner.name.family", + "min": 1 + }, + { + "id": "Practitioner.name:Geburtsname.given", + "path": "Practitioner.name.given", + "max": "0" + }, + { + "id": "Practitioner.name:Geburtsname.prefix", + "path": "Practitioner.name.prefix", + "max": "0" + }, + { + "id": "Practitioner.telecom.system", + "path": "Practitioner.telecom.system", + "min": 1 + }, + { + "id": "Practitioner.telecom.value", + "path": "Practitioner.telecom.value", + "min": 1 + }, + { + "id": "Practitioner.address", + "path": "Practitioner.address", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "comment": "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification.", + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift", + "path": "Practitioner.address", + "sliceName": "Strassenanschrift", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "both" + }, + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.extension:Stadtteil", + "path": "Practitioner.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.type", + "path": "Practitioner.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.line", + "path": "Practitioner.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.line.extension:Strasse", + "path": "Practitioner.address.line.extension", + "sliceName": "Strasse", + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.line.extension:Hausnummer", + "path": "Practitioner.address.line.extension", + "sliceName": "Hausnummer", + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.line.extension:Adresszusatz", + "path": "Practitioner.address.line.extension", + "sliceName": "Adresszusatz", + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.line.extension:Postfach", + "path": "Practitioner.address.line.extension", + "sliceName": "Postfach", + "max": "0" + }, + { + "id": "Practitioner.address:Strassenanschrift.city", + "path": "Practitioner.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.postalCode", + "path": "Practitioner.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Strassenanschrift.country", + "path": "Practitioner.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach", + "path": "Practitioner.address", + "sliceName": "Postfach", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "postal" + }, + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach.type", + "path": "Practitioner.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach.line", + "path": "Practitioner.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach.line.extension:Strasse", + "path": "Practitioner.address.line.extension", + "sliceName": "Strasse", + "max": "0" + }, + { + "id": "Practitioner.address:Postfach.line.extension:Hausnummer", + "path": "Practitioner.address.line.extension", + "sliceName": "Hausnummer", + "max": "0" + }, + { + "id": "Practitioner.address:Postfach.line.extension:Adresszusatz", + "path": "Practitioner.address.line.extension", + "sliceName": "Adresszusatz", + "max": "0" + }, + { + "id": "Practitioner.address:Postfach.line.extension:Postfach", + "path": "Practitioner.address.line.extension", + "sliceName": "Postfach", + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach.city", + "path": "Practitioner.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach.postalCode", + "path": "Practitioner.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.address:Postfach.country", + "path": "Practitioner.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Practitioner.gender", + "path": "Practitioner.gender", + "mustSupport": true + }, + { + "id": "Practitioner.gender.extension:Geschlecht-Administrativ", + "path": "Practitioner.gender.extension", + "sliceName": "Geschlecht-Administrativ", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/gender-amtlich-de" + ] + } + ], + "mustSupport": true + }, + { + "id": "Practitioner.gender.extension:Geschlecht-Administrativ.extension", + "path": "Practitioner.gender.extension.extension", + "max": "0" + }, + { + "id": "Practitioner.gender.extension:Geschlecht-Administrativ.value[x]", + "path": "Practitioner.gender.extension.value[x]", + "mustSupport": true + }, + { + "id": "Practitioner.birthDate.extension:Data-Absent-Reason", + "path": "Practitioner.birthDate.extension", + "sliceName": "Data-Absent-Reason", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/data-absent-reason" + ] + } + ], + "mustSupport": true + }, + { + "id": "Practitioner.qualification.code", + "path": "Practitioner.qualification.code", + "comment": "Zur Kodierung der Qualifikation ist das entsprechende [ValueSet der KBV](https://fhir.kbv.de/ValueSet/KBV_VS_Base_Practitioner_Speciality) zu empfehlen." + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json new file mode 100644 index 00000000..5b36bb1e --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json @@ -0,0 +1,279 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKProzedur", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur", + "version": "3.0.4", + "name": "ISiKProzedur", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Diese Profil ermöglicht die Nutzung von Prozedur-bezogenen Informationen in ISiK Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Procedure", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Procedure", + "path": "Procedure", + "constraint": [ + { + "key": "proc-ISiK-1", + "severity": "error", + "human": "Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden", + "expression": "code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + }, + { + "key": "proc-ISiK-2", + "severity": "error", + "human": "Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden", + "expression": "code.coding.exists() implies category.coding.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + } + ] + }, + { + "id": "Procedure.id", + "path": "Procedure.id", + "mustSupport": true + }, + { + "id": "Procedure.extension", + "path": "Procedure.extension", + "mustSupport": true + }, + { + "id": "Procedure.extension:Dokumentationsdatum", + "path": "Procedure.extension", + "sliceName": "Dokumentationsdatum", + "min": 0, + "max": "1", + "type": [ + { + "code": "Extension", + "profile": [ + "http://fhir.de/StructureDefinition/ProzedurDokumentationsdatum" + ] + } + ], + "mustSupport": true + }, + { + "id": "Procedure.status", + "path": "Procedure.status", + "mustSupport": true + }, + { + "id": "Procedure.category", + "path": "Procedure.category", + "mustSupport": true + }, + { + "id": "Procedure.category.coding", + "path": "Procedure.category.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "system" + } + ], + "rules": "open" + } + }, + { + "id": "Procedure.category.coding:SNOMED-CT", + "path": "Procedure.category.coding", + "sliceName": "SNOMED-CT", + "min": 0, + "max": "1", + "mustSupport": true, + "binding": { + "strength": "preferred", + "valueSet": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenKategorieSCT" + } + }, + { + "id": "Procedure.category.coding:SNOMED-CT.system", + "path": "Procedure.category.coding.system", + "min": 1, + "patternUri": "http://snomed.info/sct", + "mustSupport": true + }, + { + "id": "Procedure.category.coding:SNOMED-CT.code", + "path": "Procedure.category.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Procedure.code", + "path": "Procedure.code", + "constraint": [ + { + "key": "sct-ops-1", + "severity": "error", + "human": "Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. Liegt die Prozedur nicht kodiert vor SOLL Freitext angegeben werden.", + "expression": "coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + }, + { + "key": "proc-ISiK-3", + "severity": "error", + "human": "Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.", + "expression": "coding.exists().not() implies text.exists()", + "source": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + } + ], + "mustSupport": true + }, + { + "id": "Procedure.code.coding", + "path": "Procedure.code.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "system" + } + ], + "rules": "open" + }, + "mustSupport": true + }, + { + "id": "Procedure.code.coding:OPS", + "path": "Procedure.code.coding", + "sliceName": "OPS", + "min": 0, + "max": "1", + "type": [ + { + "code": "Coding", + "profile": [ + "http://fhir.de/StructureDefinition/CodingOPS" + ] + } + ], + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/ValueSet/bfarm/ops" + } + }, + { + "id": "Procedure.code.coding:OPS.extension:Seitenlokalisation", + "path": "Procedure.code.coding.extension", + "sliceName": "Seitenlokalisation", + "mustSupport": true + }, + { + "id": "Procedure.code.coding:OPS.system", + "path": "Procedure.code.coding.system", + "mustSupport": true + }, + { + "id": "Procedure.code.coding:OPS.version", + "path": "Procedure.code.coding.version", + "mustSupport": true + }, + { + "id": "Procedure.code.coding:OPS.code", + "path": "Procedure.code.coding.code", + "mustSupport": true + }, + { + "id": "Procedure.code.coding:SNOMED-CT", + "path": "Procedure.code.coding", + "sliceName": "SNOMED-CT", + "min": 0, + "max": "1", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenCodesSCT" + } + }, + { + "id": "Procedure.code.coding:SNOMED-CT.system", + "path": "Procedure.code.coding.system", + "min": 1, + "patternUri": "http://snomed.info/sct", + "mustSupport": true + }, + { + "id": "Procedure.code.coding:SNOMED-CT.code", + "path": "Procedure.code.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Procedure.code.text", + "path": "Procedure.code.text", + "mustSupport": true + }, + { + "id": "Procedure.subject", + "path": "Procedure.subject", + "mustSupport": true + }, + { + "id": "Procedure.subject.reference", + "path": "Procedure.subject.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Procedure.encounter", + "path": "Procedure.encounter", + "mustSupport": true + }, + { + "id": "Procedure.performed[x]", + "path": "Procedure.performed[x]", + "min": 1, + "type": [ + { + "code": "dateTime" + }, + { + "code": "Period" + } + ], + "mustSupport": true + }, + { + "id": "Procedure.note", + "path": "Procedure.note", + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json new file mode 100644 index 00000000..734df94c --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json @@ -0,0 +1,142 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKValueSet", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet", + "version": "3.0.4", + "name": "ISiKValueSet", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil beschreibt die maschinenlesbare Auswahl von Codes für die Kodierung spezifischer FHIR-Elemente in ISiK-Szenarien", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "workflow", + "uri": "http://hl7.org/fhir/workflow", + "name": "Workflow Pattern" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + }, + { + "identity": "objimpl", + "uri": "http://hl7.org/fhir/object-implementation", + "name": "Object Implementation Information" + } + ], + "kind": "resource", + "abstract": false, + "type": "ValueSet", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ValueSet", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "ValueSet.id", + "path": "ValueSet.id", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.url", + "path": "ValueSet.url", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.version", + "path": "ValueSet.version", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.name", + "path": "ValueSet.name", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.status", + "path": "ValueSet.status", + "mustSupport": true + }, + { + "id": "ValueSet.useContext", + "path": "ValueSet.useContext", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.useContext.code", + "path": "ValueSet.useContext.code", + "patternCoding": { + "code": "focus", + "system": "http://terminology.hl7.org/CodeSystem/usage-context-type" + } + }, + { + "id": "ValueSet.useContext.value[x]", + "path": "ValueSet.useContext.value[x]", + "type": [ + { + "code": "CodeableConcept" + } + ], + "binding": { + "strength": "required", + "valueSet": "http://hl7.org/fhir/ValueSet/resource-types", + "description": "One of the resource types defined as part of this version of FHIR." + } + }, + { + "id": "ValueSet.expansion", + "path": "ValueSet.expansion", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.expansion.timestamp", + "path": "ValueSet.expansion.timestamp", + "mustSupport": true + }, + { + "id": "ValueSet.expansion.contains", + "path": "ValueSet.expansion.contains", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.expansion.contains.system", + "path": "ValueSet.expansion.contains.system", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.expansion.contains.version", + "path": "ValueSet.expansion.contains.version", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.expansion.contains.code", + "path": "ValueSet.expansion.contains.code", + "min": 1, + "mustSupport": true + }, + { + "id": "ValueSet.expansion.contains.display", + "path": "ValueSet.expansion.contains.display", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json new file mode 100644 index 00000000..b97385c0 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json @@ -0,0 +1,180 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKVersicherungsverhaeltnisGesetzlich", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich", + "version": "3.0.4", + "name": "ISiKVersicherungsverhaeltnisGesetzlich", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht die Darstellung eines gesetzlichen Versicherungsverhältnisses in ISiK Szenarien.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Coverage", + "baseDefinition": "http://fhir.de/StructureDefinition/coverage-de-basis", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Coverage", + "path": "Coverage", + "definition": "Kostenübernahme im Rahmen eines gesetzlichen Versicherungsverhältnisses in Deutschland." + }, + { + "id": "Coverage.status", + "path": "Coverage.status", + "mustSupport": true + }, + { + "id": "Coverage.type", + "path": "Coverage.type", + "comment": "28.07.2017 (zulip): TC Konsens bzgl. Verwendung eines eigenen ValueSets anstelle des im Standrad definierten preferred bindings, da die dortigen Codes nicht passen.", + "mustSupport": true + }, + { + "id": "Coverage.type.coding", + "path": "Coverage.type.coding", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Coverage.type.coding:VersicherungsArtDeBasis", + "path": "Coverage.type.coding", + "sliceName": "VersicherungsArtDeBasis", + "min": 1, + "max": "1", + "patternCoding": { + "code": "GKV", + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis" + }, + "mustSupport": true + }, + { + "id": "Coverage.subscriber", + "path": "Coverage.subscriber", + "definition": "Hauptversicherte Person, wenn abweichend von beneficiary, z.B. bei Familienversicherung", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/RelatedPerson" + ] + } + ], + "mustSupport": true + }, + { + "id": "Coverage.subscriber.identifier", + "path": "Coverage.subscriber.identifier", + "short": "VersichertenID (10-stellig) des Hauptversicherten", + "min": 1, + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-kvid-10" + ] + } + ], + "patternIdentifier": { + "system": "http://fhir.de/sid/gkv/kvid-10" + }, + "mustSupport": true + }, + { + "id": "Coverage.subscriber.display", + "path": "Coverage.subscriber.display", + "short": "Name des Hauptversicherten" + }, + { + "id": "Coverage.beneficiary", + "path": "Coverage.beneficiary", + "definition": "Benennt die versicherte Person.", + "comment": "Die Angabe der Reference ist verpflichtend. Durch die Referenz auf eine Patient-Resource können weitere Informationen zum Patienten hinterlegt werden.", + "mustSupport": true + }, + { + "id": "Coverage.beneficiary.reference", + "path": "Coverage.beneficiary.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Coverage.beneficiary.identifier", + "path": "Coverage.beneficiary.identifier", + "short": "Identifier der versicherten Person", + "patternIdentifier": { + "system": "http://fhir.de/sid/gkv/kvid-10" + } + }, + { + "id": "Coverage.beneficiary.display", + "path": "Coverage.beneficiary.display", + "short": "Name der Versicherten Person", + "definition": "Die Angabe des Namens des Versicherten dient der geeigneten Darstellung für den Benutzer und hat keine technische Bedeutung." + }, + { + "id": "Coverage.payor", + "path": "Coverage.payor", + "definition": "Gibt den Kostenträger des Versicherten an. Die Angabe der IK-Nummer als logische Referenz sowie des Namens als Display ist zwingend erforderlich.\r\nDie Referenz auf eine Resource vom Typ Organization, die weitere Details zur Versicherung enthalten kann (z.B. Adresse, Kontaktdaten) ist optional.\r\nSofern eine zweite Referenz auf einen Kostenträger existiert, so handelt es sich hierbei um den abrechnenden Kostenträger", + "comment": "Die Angabe der IK-Nummer des Versicherers in payor.identifier ist verpflichtend. Weitere Angaben zum Versicherer (Name, Adresse) können in einer Organization-Resource hinterlegt werden, auf die hier referenziert wird.", + "max": "1", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Organization" + ] + } + ], + "mustSupport": true + }, + { + "id": "Coverage.payor.identifier", + "path": "Coverage.payor.identifier", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-iknr" + ] + } + ], + "mustSupport": true + }, + { + "id": "Coverage.payor.identifier.type", + "path": "Coverage.payor.identifier.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Coverage.payor.identifier.system", + "path": "Coverage.payor.identifier.system", + "mustSupport": true + }, + { + "id": "Coverage.payor.identifier.value", + "path": "Coverage.payor.identifier.value", + "mustSupport": true + }, + { + "id": "Coverage.payor.display", + "path": "Coverage.payor.display", + "min": 1, + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json new file mode 100644 index 00000000..db407c8c --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json @@ -0,0 +1,69 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKVersicherungsverhaeltnisSelbstzahler", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler", + "version": "3.0.4", + "name": "ISiKVersicherungsverhaeltnisSelbstzahler", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Dieses Profil ermöglicht Selbstzahler Szenarien in ISiK.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Coverage", + "baseDefinition": "http://fhir.de/StructureDefinition/coverage-de-sel", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Coverage.status", + "path": "Coverage.status", + "mustSupport": true + }, + { + "id": "Coverage.type", + "path": "Coverage.type", + "mustSupport": true + }, + { + "id": "Coverage.subscriber", + "path": "Coverage.subscriber", + "mustSupport": true + }, + { + "id": "Coverage.subscriber.display", + "path": "Coverage.subscriber.display", + "min": 1, + "mustSupport": true + }, + { + "id": "Coverage.beneficiary", + "path": "Coverage.beneficiary", + "mustSupport": true + }, + { + "id": "Coverage.beneficiary.reference", + "path": "Coverage.beneficiary.reference", + "min": 1, + "mustSupport": true + }, + { + "id": "Coverage.payor", + "path": "Coverage.payor", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Patient", + "http://hl7.org/fhir/StructureDefinition/RelatedPerson", + "http://hl7.org/fhir/StructureDefinition/Organization" + ] + } + ], + "mustSupport": true + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-PlannedEndDate.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-PlannedEndDate.json new file mode 100644 index 00000000..0a440f20 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-PlannedEndDate.json @@ -0,0 +1,53 @@ +{ + "resourceType": "StructureDefinition", + "id": "PlannedEndDate", + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedEndDate", + "version": "3.0.4", + "name": "PlannedEndDate", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + } + ], + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "Element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedEndDate" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "type": [ + { + "code": "dateTime" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-PlannedStartDate.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-PlannedStartDate.json new file mode 100644 index 00000000..bca89aa1 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-PlannedStartDate.json @@ -0,0 +1,53 @@ +{ + "resourceType": "StructureDefinition", + "id": "PlannedStartDate", + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate", + "version": "3.0.4", + "name": "PlannedStartDate", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + } + ], + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "Element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "type": [ + { + "code": "dateTime" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json new file mode 100644 index 00000000..09bab433 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json @@ -0,0 +1,67 @@ +{ + "resourceType": "StructureDefinition", + "id": "identifier-abrechnungsnummer", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/identifier-abrechnungsnummer", + "version": "3.0.4", + "name": "IdentifierAbrechnungsnummer", + "title": "Identifier-Profil für die Abbildung einer Abrechnungsnummer (\"Fallnummer\") ", + "status": "active", + "experimental": false, + "date": "2024-03-01", + "publisher": "gematik GmbH", + "description": "Identifier-Profil für die Abbildung einer organisationsspezifischen Abrechnungsnummer (\"Fallnummer\")", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "servd", + "uri": "http://www.omg.org/spec/ServD/1.0/", + "name": "ServD" + } + ], + "kind": "complex-type", + "abstract": false, + "type": "Identifier", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Identifier", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Identifier.type", + "path": "Identifier.type", + "min": 1, + "patternCodeableConcept": { + "coding": [ + { + "code": "AN", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKAccountIdentifierType" + } + }, + { + "id": "Identifier.system", + "path": "Identifier.system", + "min": 1 + }, + { + "id": "Identifier.value", + "path": "Identifier.value", + "min": 1 + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json new file mode 100644 index 00000000..db2d9d74 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json @@ -0,0 +1,36 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "DiagnosesSCT", + "id": "DiagnosesSCT", + "description": "Enthaelt alle SNOMED Clinical finding, Event und Situation with explicit context codes", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/DiagnosesSCT", + "version": "3.0.4", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "is-a", + "value": "404684003" + }, + { + "property": "concept", + "op": "is-a", + "value": "272379006" + }, + { + "property": "concept", + "op": "is-a", + "value": "243796009" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json new file mode 100644 index 00000000..90257c1e --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json @@ -0,0 +1,25 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "ISiKAccountIdentifierType", + "id": "ISiKAccountIdentifierType", + "title": "ISiKAccountIdentifierType", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKAccountIdentifierType", + "version": "3.0.4", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "concept": [ + { + "code": "AN", + "display": "Account number" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json new file mode 100644 index 00000000..9647429a --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json @@ -0,0 +1,29 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "ISiKAccountType", + "id": "ISiKAccountType", + "title": "ISiKAccountType", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKAccountType", + "version": "3.0.4", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "concept": [ + { + "code": "AMB", + "display": "ambulatory" + }, + { + "code": "IMP", + "display": "inpatient encounter" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json new file mode 100644 index 00000000..139b0717 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json @@ -0,0 +1,32 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "ISiKLocationPhysicalType", + "id": "ISiKLocationPhysicalType", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ISiKLocationPhysicalType", + "version": "3.0.4", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type", + "concept": [ + { + "code": "bd", + "display": "Bed" + }, + { + "code": "ro", + "display": "Room" + }, + { + "code": "wa", + "display": "Ward" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json new file mode 100644 index 00000000..1adb1b2a --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json @@ -0,0 +1,40 @@ +{ + "resourceType": "ValueSet", + "id": "ISiKValueSetExample", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet" + ] + }, + "useContext": [ + { + "code": { + "code": "focus", + "system": "http://terminology.hl7.org/CodeSystem/usage-context-type" + }, + "valueCodeableConcept": { + "coding": [ + { + "code": "Encounter", + "system": "http://hl7.org/fhir/resource-types" + } + ] + } + } + ], + "url": "http://example.org/fhir/ValueSet/TestValueSet", + "version": "2.0.2", + "name": "TestValueSet", + "status": "active", + "expansion": { + "timestamp": "2022-03-30", + "contains": [ + { + "system": "http://example.org/fhir/CodeSystem/TestKatalog", + "version": "1.0.0", + "code": "test", + "display": "Test" + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json new file mode 100644 index 00000000..5fde7834 --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json @@ -0,0 +1,26 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "ProzedurenCodesSCT", + "id": "ProzedurenCodesSCT", + "description": "Enthaelt alle SNOMED Procedure Codes", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenCodesSCT", + "version": "3.0.4", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "descendent-of", + "value": "71388002" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json new file mode 100644 index 00000000..bc570a3a --- /dev/null +++ b/IG/3.0.4/artifacts/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json @@ -0,0 +1,45 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "ProzedurenKategorieSCT", + "id": "ProzedurenKategorieSCT", + "description": "Enthaelt alle SNOMED Codes für ein Mapping der OPS Klassentitel", + "url": "https://gematik.de/fhir/isik/v3/Basismodul/ValueSet/ProzedurenKategorieSCT", + "version": "3.0.4", + "experimental": false, + "publisher": "gematik GmbH", + "date": "2024-03-01", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "165197003", + "display": "Diagnostic assessment" + }, + { + "code": "363679005", + "display": "Imaging" + }, + { + "code": "387713003", + "display": "Surgical procedure" + }, + { + "code": "18629005", + "display": "Administration of medicine" + }, + { + "code": "277132007", + "display": "Therapeutic procedure" + }, + { + "code": "394841004", + "display": "Other category" + } + ] + } + ] + } +} diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Composition-Bundle.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Composition-Bundle.png new file mode 100644 index 00000000..aa0c6fd1 Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Composition-Bundle.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Abrechnung.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Abrechnung.png new file mode 100644 index 00000000..e29c934b Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Abrechnung.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Fallnummer.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Fallnummer.png new file mode 100644 index 00000000..ac10e196 Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Fallnummer.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-ISiK.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-ISiK.png new file mode 100644 index 00000000..15cc6d09 Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-ISiK.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-MII.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-MII.png new file mode 100644 index 00000000..04007738 Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-MII.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Medizinisch.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Medizinisch.png new file mode 100644 index 00000000..96d2995c Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modell-Medizinisch.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modelle.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modelle.png new file mode 100644 index 00000000..6b2fef18 Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Encounter-Modelle.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/Infomodel.png b/IG/3.0.4/static/project/ImplementationGuide/Images/Infomodel.png new file mode 100644 index 00000000..435e5595 Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/Infomodel.png differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/Images/ig_bilder_Warning.jpg b/IG/3.0.4/static/project/ImplementationGuide/Images/ig_bilder_Warning.jpg new file mode 100644 index 00000000..3c08df7d Binary files /dev/null and b/IG/3.0.4/static/project/ImplementationGuide/Images/ig_bilder_Warning.jpg differ diff --git a/IG/3.0.4/static/project/ImplementationGuide/style/master.html b/IG/3.0.4/static/project/ImplementationGuide/style/master.html new file mode 100644 index 00000000..a25e85f4 --- /dev/null +++ b/IG/3.0.4/static/project/ImplementationGuide/style/master.html @@ -0,0 +1,54 @@ + + + + + + + + {{ guide-title }} + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ {{ page-with-children }} +
+ +
+ +
+ + + +
+ + + + \ No newline at end of file diff --git a/IG/3.0.4/static/project/ImplementationGuide/style/settings.style b/IG/3.0.4/static/project/ImplementationGuide/style/settings.style new file mode 100644 index 00000000..b833bbda --- /dev/null +++ b/IG/3.0.4/static/project/ImplementationGuide/style/settings.style @@ -0,0 +1 @@ +{"Name":"ISiK Custom IG Style","Include":["styles/common","styles/twolevelmenu"]} \ No newline at end of file diff --git a/IG/3.0.4/static/project/ImplementationGuide/style/style.css b/IG/3.0.4/static/project/ImplementationGuide/style/style.css new file mode 100644 index 00000000..11d03673 --- /dev/null +++ b/IG/3.0.4/static/project/ImplementationGuide/style/style.css @@ -0,0 +1,43 @@ +html, body { + padding: 0; + margin: 0; } + +.container { + padding-bottom: 15px; +} + +#ig-viewer { + position: relative; + height: 100%; } + #ig-viewer .ig-view-content { + overflow: hidden; + min-height: 100%; + position: relative; + height: auto !important; + margin-bottom: -155px; + padding-bottom: 155px; } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .header { + background: #f9f9f9; + border-bottom: 1px solid #e0e0e0; } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .header .navbar { + background: #f9f9f9 !important; + margin-bottom: 0px; } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .header .navbar a { + color: #333 !important; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif !important; } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .header .navbar .navbar-header { + margin-bottom: 0; + width: 35% } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .header .navbar .navbar-nav > li > a { + padding-top: 15px; } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .content { + margin-top: 10px; } + #ig-viewer .ig-view-content #ig-view-twolevelmenu .content .nav-pills > li > a { + overflow: hidden; + text-overflow: ellipsis; } + #ig-viewer .ig-view-footer { + background-color: #636363; + color: #E0E0E0; + height: 155px; + position: relative; + padding-top: 40px; } diff --git a/IG/3.0.4/static/project/Material/Gematik_Logo_Flag.png b/IG/3.0.4/static/project/Material/Gematik_Logo_Flag.png new file mode 100644 index 00000000..fc27adee Binary files /dev/null and b/IG/3.0.4/static/project/Material/Gematik_Logo_Flag.png differ diff --git a/IG/3.0.4/static/project/Material/images/Composition-Bundle.png b/IG/3.0.4/static/project/Material/images/Composition-Bundle.png new file mode 100644 index 00000000..aa0c6fd1 Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Composition-Bundle.png differ diff --git a/IG/3.0.4/static/project/Material/images/Encounter-Modell-Abrechnung.png b/IG/3.0.4/static/project/Material/images/Encounter-Modell-Abrechnung.png new file mode 100644 index 00000000..e29c934b Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Encounter-Modell-Abrechnung.png differ diff --git a/IG/3.0.4/static/project/Material/images/Encounter-Modell-Fallnummer.png b/IG/3.0.4/static/project/Material/images/Encounter-Modell-Fallnummer.png new file mode 100644 index 00000000..ac10e196 Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Encounter-Modell-Fallnummer.png differ diff --git a/IG/3.0.4/static/project/Material/images/Encounter-Modell-ISiK.png b/IG/3.0.4/static/project/Material/images/Encounter-Modell-ISiK.png new file mode 100644 index 00000000..15cc6d09 Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Encounter-Modell-ISiK.png differ diff --git a/IG/3.0.4/static/project/Material/images/Encounter-Modell-MII.png b/IG/3.0.4/static/project/Material/images/Encounter-Modell-MII.png new file mode 100644 index 00000000..04007738 Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Encounter-Modell-MII.png differ diff --git a/IG/3.0.4/static/project/Material/images/Encounter-Modell-Medizinisch.png b/IG/3.0.4/static/project/Material/images/Encounter-Modell-Medizinisch.png new file mode 100644 index 00000000..96d2995c Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Encounter-Modell-Medizinisch.png differ diff --git a/IG/3.0.4/static/project/Material/images/Encounter-Modelle.png b/IG/3.0.4/static/project/Material/images/Encounter-Modelle.png new file mode 100644 index 00000000..6b2fef18 Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/Encounter-Modelle.png differ diff --git a/IG/3.0.4/static/project/Material/images/IG_Warning.jpg b/IG/3.0.4/static/project/Material/images/IG_Warning.jpg new file mode 100644 index 00000000..3c08df7d Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/IG_Warning.jpg differ diff --git a/IG/3.0.4/static/project/Material/images/diagrams/Infomodel.png b/IG/3.0.4/static/project/Material/images/diagrams/Infomodel.png new file mode 100644 index 00000000..435e5595 Binary files /dev/null and b/IG/3.0.4/static/project/Material/images/diagrams/Infomodel.png differ diff --git a/IG/3.0.4/static/styles/common/bootstrap/bootstrap.css b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.css new file mode 100644 index 00000000..6145a5e8 --- /dev/null +++ b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.css @@ -0,0 +1,6271 @@ +@charset "UTF-8"; +/*-------------------------------------------------------------- +Bootstrap overridden variables +--------------------------------------------------------------*/ +.bg-gray-base { + background-color: #000; } + +.bg-gray-darker { + background-color: #222222; } + +.bg-gray-dark { + background-color: #333333; } + +.bg-gray { + background-color: #555555; } + +.bg-gray-light { + background-color: #777777; } + +.bg-gray-lighter { + background-color: #eeeeee; } + +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; } + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; } + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; } + +audio:not([controls]) { + display: none; + height: 0; } + +[hidden], +template { + display: none; } + +a { + background-color: transparent; } + +a:active, +a:hover { + outline: 0; } + +abbr[title] { + border-bottom: 1px dotted; } + +b, +strong { + font-weight: bold; } + +dfn { + font-style: italic; } + +h1 { + font-size: 2em; + margin: 0.67em 0; } + +mark { + background: #ff0; + color: #000; } + +small { + font-size: 80%; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +img { + border: 0; } + +svg:not(:root) { + overflow: hidden; } + +figure { + margin: 1em 40px; } + +hr { + box-sizing: content-box; + height: 0; } + +pre { + overflow: auto; } + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; } + +button { + overflow: visible; } + +button, +select { + text-transform: none; } + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; } + +button[disabled], +html input[disabled] { + cursor: default; } + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +input { + line-height: normal; } + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; } + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } + +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; } + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +legend { + border: 0; + padding: 0; } + +textarea { + overflow: auto; } + +optgroup { + font-weight: bold; } + +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; } + a, + a:visited { + text-decoration: underline; } + a[href]:after { + content: " (" attr(href) ")"; } + abbr[title]:after { + content: " (" attr(title) ")"; } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + .navbar { + display: none; } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; } + .label { + border: 1px solid #000; } + .table { + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; } } + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url("fonts/glyphicons-halflings-regular.eot"); + src: url("fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("fonts/glyphicons-halflings-regular.woff") format("woff"), url("fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +.glyphicon-asterisk:before { + content: "\002a"; } + +.glyphicon-plus:before { + content: "\002b"; } + +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; } + +.glyphicon-minus:before { + content: "\2212"; } + +.glyphicon-cloud:before { + content: "\2601"; } + +.glyphicon-envelope:before { + content: "\2709"; } + +.glyphicon-pencil:before { + content: "\270f"; } + +.glyphicon-glass:before { + content: "\e001"; } + +.glyphicon-music:before { + content: "\e002"; } + +.glyphicon-search:before { + content: "\e003"; } + +.glyphicon-heart:before { + content: "\e005"; } + +.glyphicon-star:before { + content: "\e006"; } + +.glyphicon-star-empty:before { + content: "\e007"; } + +.glyphicon-user:before { + content: "\e008"; } + +.glyphicon-film:before { + content: "\e009"; } + +.glyphicon-th-large:before { + content: "\e010"; } + +.glyphicon-th:before { + content: "\e011"; } + +.glyphicon-th-list:before { + content: "\e012"; } + +.glyphicon-ok:before { + content: "\e013"; } + +.glyphicon-remove:before { + content: "\e014"; } + +.glyphicon-zoom-in:before { + content: "\e015"; } + +.glyphicon-zoom-out:before { + content: "\e016"; } + +.glyphicon-off:before { + content: "\e017"; } + +.glyphicon-signal:before { + content: "\e018"; } + +.glyphicon-cog:before { + content: "\e019"; } + +.glyphicon-trash:before { + content: "\e020"; } + +.glyphicon-home:before { + content: "\e021"; } + +.glyphicon-file:before { + content: "\e022"; } + +.glyphicon-time:before { + content: "\e023"; } + +.glyphicon-road:before { + content: "\e024"; } + +.glyphicon-download-alt:before { + content: "\e025"; } + +.glyphicon-download:before { + content: "\e026"; } + +.glyphicon-upload:before { + content: "\e027"; } + +.glyphicon-inbox:before { + content: "\e028"; } + +.glyphicon-play-circle:before { + content: "\e029"; } + +.glyphicon-repeat:before { + content: "\e030"; } + +.glyphicon-refresh:before { + content: "\e031"; } + +.glyphicon-list-alt:before { + content: "\e032"; } + +.glyphicon-lock:before { + content: "\e033"; } + +.glyphicon-flag:before { + content: "\e034"; } + +.glyphicon-headphones:before { + content: "\e035"; } + +.glyphicon-volume-off:before { + content: "\e036"; } + +.glyphicon-volume-down:before { + content: "\e037"; } + +.glyphicon-volume-up:before { + content: "\e038"; } + +.glyphicon-qrcode:before { + content: "\e039"; } + +.glyphicon-barcode:before { + content: "\e040"; } + +.glyphicon-tag:before { + content: "\e041"; } + +.glyphicon-tags:before { + content: "\e042"; } + +.glyphicon-book:before { + content: "\e043"; } + +.glyphicon-bookmark:before { + content: "\e044"; } + +.glyphicon-print:before { + content: "\e045"; } + +.glyphicon-camera:before { + content: "\e046"; } + +.glyphicon-font:before { + content: "\e047"; } + +.glyphicon-bold:before { + content: "\e048"; } + +.glyphicon-italic:before { + content: "\e049"; } + +.glyphicon-text-height:before { + content: "\e050"; } + +.glyphicon-text-width:before { + content: "\e051"; } + +.glyphicon-align-left:before { + content: "\e052"; } + +.glyphicon-align-center:before { + content: "\e053"; } + +.glyphicon-align-right:before { + content: "\e054"; } + +.glyphicon-align-justify:before { + content: "\e055"; } + +.glyphicon-list:before { + content: "\e056"; } + +.glyphicon-indent-left:before { + content: "\e057"; } + +.glyphicon-indent-right:before { + content: "\e058"; } + +.glyphicon-facetime-video:before { + content: "\e059"; } + +.glyphicon-picture:before { + content: "\e060"; } + +.glyphicon-map-marker:before { + content: "\e062"; } + +.glyphicon-adjust:before { + content: "\e063"; } + +.glyphicon-tint:before { + content: "\e064"; } + +.glyphicon-edit:before { + content: "\e065"; } + +.glyphicon-share:before { + content: "\e066"; } + +.glyphicon-check:before { + content: "\e067"; } + +.glyphicon-move:before { + content: "\e068"; } + +.glyphicon-step-backward:before { + content: "\e069"; } + +.glyphicon-fast-backward:before { + content: "\e070"; } + +.glyphicon-backward:before { + content: "\e071"; } + +.glyphicon-play:before { + content: "\e072"; } + +.glyphicon-pause:before { + content: "\e073"; } + +.glyphicon-stop:before { + content: "\e074"; } + +.glyphicon-forward:before { + content: "\e075"; } + +.glyphicon-fast-forward:before { + content: "\e076"; } + +.glyphicon-step-forward:before { + content: "\e077"; } + +.glyphicon-eject:before { + content: "\e078"; } + +.glyphicon-chevron-left:before { + content: "\e079"; } + +.glyphicon-chevron-right:before { + content: "\e080"; } + +.glyphicon-plus-sign:before { + content: "\e081"; } + +.glyphicon-minus-sign:before { + content: "\e082"; } + +.glyphicon-remove-sign:before { + content: "\e083"; } + +.glyphicon-ok-sign:before { + content: "\e084"; } + +.glyphicon-question-sign:before { + content: "\e085"; } + +.glyphicon-info-sign:before { + content: "\e086"; } + +.glyphicon-screenshot:before { + content: "\e087"; } + +.glyphicon-remove-circle:before { + content: "\e088"; } + +.glyphicon-ok-circle:before { + content: "\e089"; } + +.glyphicon-ban-circle:before { + content: "\e090"; } + +.glyphicon-arrow-left:before { + content: "\e091"; } + +.glyphicon-arrow-right:before { + content: "\e092"; } + +.glyphicon-arrow-up:before { + content: "\e093"; } + +.glyphicon-arrow-down:before { + content: "\e094"; } + +.glyphicon-share-alt:before { + content: "\e095"; } + +.glyphicon-resize-full:before { + content: "\e096"; } + +.glyphicon-resize-small:before { + content: "\e097"; } + +.glyphicon-exclamation-sign:before { + content: "\e101"; } + +.glyphicon-gift:before { + content: "\e102"; } + +.glyphicon-leaf:before { + content: "\e103"; } + +.glyphicon-fire:before { + content: "\e104"; } + +.glyphicon-eye-open:before { + content: "\e105"; } + +.glyphicon-eye-close:before { + content: "\e106"; } + +.glyphicon-warning-sign:before { + content: "\e107"; } + +.glyphicon-plane:before { + content: "\e108"; } + +.glyphicon-calendar:before { + content: "\e109"; } + +.glyphicon-random:before { + content: "\e110"; } + +.glyphicon-comment:before { + content: "\e111"; } + +.glyphicon-magnet:before { + content: "\e112"; } + +.glyphicon-chevron-up:before { + content: "\e113"; } + +.glyphicon-chevron-down:before { + content: "\e114"; } + +.glyphicon-retweet:before { + content: "\e115"; } + +.glyphicon-shopping-cart:before { + content: "\e116"; } + +.glyphicon-folder-close:before { + content: "\e117"; } + +.glyphicon-folder-open:before { + content: "\e118"; } + +.glyphicon-resize-vertical:before { + content: "\e119"; } + +.glyphicon-resize-horizontal:before { + content: "\e120"; } + +.glyphicon-hdd:before { + content: "\e121"; } + +.glyphicon-bullhorn:before { + content: "\e122"; } + +.glyphicon-bell:before { + content: "\e123"; } + +.glyphicon-certificate:before { + content: "\e124"; } + +.glyphicon-thumbs-up:before { + content: "\e125"; } + +.glyphicon-thumbs-down:before { + content: "\e126"; } + +.glyphicon-hand-right:before { + content: "\e127"; } + +.glyphicon-hand-left:before { + content: "\e128"; } + +.glyphicon-hand-up:before { + content: "\e129"; } + +.glyphicon-hand-down:before { + content: "\e130"; } + +.glyphicon-circle-arrow-right:before { + content: "\e131"; } + +.glyphicon-circle-arrow-left:before { + content: "\e132"; } + +.glyphicon-circle-arrow-up:before { + content: "\e133"; } + +.glyphicon-circle-arrow-down:before { + content: "\e134"; } + +.glyphicon-globe:before { + content: "\e135"; } + +.glyphicon-wrench:before { + content: "\e136"; } + +.glyphicon-tasks:before { + content: "\e137"; } + +.glyphicon-filter:before { + content: "\e138"; } + +.glyphicon-briefcase:before { + content: "\e139"; } + +.glyphicon-fullscreen:before { + content: "\e140"; } + +.glyphicon-dashboard:before { + content: "\e141"; } + +.glyphicon-paperclip:before { + content: "\e142"; } + +.glyphicon-heart-empty:before { + content: "\e143"; } + +.glyphicon-link:before { + content: "\e144"; } + +.glyphicon-phone:before { + content: "\e145"; } + +.glyphicon-pushpin:before { + content: "\e146"; } + +.glyphicon-usd:before { + content: "\e148"; } + +.glyphicon-gbp:before { + content: "\e149"; } + +.glyphicon-sort:before { + content: "\e150"; } + +.glyphicon-sort-by-alphabet:before { + content: "\e151"; } + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; } + +.glyphicon-sort-by-order:before { + content: "\e153"; } + +.glyphicon-sort-by-order-alt:before { + content: "\e154"; } + +.glyphicon-sort-by-attributes:before { + content: "\e155"; } + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; } + +.glyphicon-unchecked:before { + content: "\e157"; } + +.glyphicon-expand:before { + content: "\e158"; } + +.glyphicon-collapse-down:before { + content: "\e159"; } + +.glyphicon-collapse-up:before { + content: "\e160"; } + +.glyphicon-log-in:before { + content: "\e161"; } + +.glyphicon-flash:before { + content: "\e162"; } + +.glyphicon-log-out:before { + content: "\e163"; } + +.glyphicon-new-window:before { + content: "\e164"; } + +.glyphicon-record:before { + content: "\e165"; } + +.glyphicon-save:before { + content: "\e166"; } + +.glyphicon-open:before { + content: "\e167"; } + +.glyphicon-saved:before { + content: "\e168"; } + +.glyphicon-import:before { + content: "\e169"; } + +.glyphicon-export:before { + content: "\e170"; } + +.glyphicon-send:before { + content: "\e171"; } + +.glyphicon-floppy-disk:before { + content: "\e172"; } + +.glyphicon-floppy-saved:before { + content: "\e173"; } + +.glyphicon-floppy-remove:before { + content: "\e174"; } + +.glyphicon-floppy-save:before { + content: "\e175"; } + +.glyphicon-floppy-open:before { + content: "\e176"; } + +.glyphicon-credit-card:before { + content: "\e177"; } + +.glyphicon-transfer:before { + content: "\e178"; } + +.glyphicon-cutlery:before { + content: "\e179"; } + +.glyphicon-header:before { + content: "\e180"; } + +.glyphicon-compressed:before { + content: "\e181"; } + +.glyphicon-earphone:before { + content: "\e182"; } + +.glyphicon-phone-alt:before { + content: "\e183"; } + +.glyphicon-tower:before { + content: "\e184"; } + +.glyphicon-stats:before { + content: "\e185"; } + +.glyphicon-sd-video:before { + content: "\e186"; } + +.glyphicon-hd-video:before { + content: "\e187"; } + +.glyphicon-subtitles:before { + content: "\e188"; } + +.glyphicon-sound-stereo:before { + content: "\e189"; } + +.glyphicon-sound-dolby:before { + content: "\e190"; } + +.glyphicon-sound-5-1:before { + content: "\e191"; } + +.glyphicon-sound-6-1:before { + content: "\e192"; } + +.glyphicon-sound-7-1:before { + content: "\e193"; } + +.glyphicon-copyright-mark:before { + content: "\e194"; } + +.glyphicon-registration-mark:before { + content: "\e195"; } + +.glyphicon-cloud-download:before { + content: "\e197"; } + +.glyphicon-cloud-upload:before { + content: "\e198"; } + +.glyphicon-tree-conifer:before { + content: "\e199"; } + +.glyphicon-tree-deciduous:before { + content: "\e200"; } + +.glyphicon-cd:before { + content: "\e201"; } + +.glyphicon-save-file:before { + content: "\e202"; } + +.glyphicon-open-file:before { + content: "\e203"; } + +.glyphicon-level-up:before { + content: "\e204"; } + +.glyphicon-copy:before { + content: "\e205"; } + +.glyphicon-paste:before { + content: "\e206"; } + +.glyphicon-alert:before { + content: "\e209"; } + +.glyphicon-equalizer:before { + content: "\e210"; } + +.glyphicon-king:before { + content: "\e211"; } + +.glyphicon-queen:before { + content: "\e212"; } + +.glyphicon-pawn:before { + content: "\e213"; } + +.glyphicon-bishop:before { + content: "\e214"; } + +.glyphicon-knight:before { + content: "\e215"; } + +.glyphicon-baby-formula:before { + content: "\e216"; } + +.glyphicon-tent:before { + content: "\26fa"; } + +.glyphicon-blackboard:before { + content: "\e218"; } + +.glyphicon-bed:before { + content: "\e219"; } + +.glyphicon-apple:before { + content: "\f8ff"; } + +.glyphicon-erase:before { + content: "\e221"; } + +.glyphicon-hourglass:before { + content: "\231b"; } + +.glyphicon-lamp:before { + content: "\e223"; } + +.glyphicon-duplicate:before { + content: "\e224"; } + +.glyphicon-piggy-bank:before { + content: "\e225"; } + +.glyphicon-scissors:before { + content: "\e226"; } + +.glyphicon-bitcoin:before { + content: "\e227"; } + +.glyphicon-btc:before { + content: "\e227"; } + +.glyphicon-xbt:before { + content: "\e227"; } + +.glyphicon-yen:before { + content: "\00a5"; } + +.glyphicon-jpy:before { + content: "\00a5"; } + +.glyphicon-ruble:before { + content: "\20bd"; } + +.glyphicon-rub:before { + content: "\20bd"; } + +.glyphicon-scale:before { + content: "\e230"; } + +.glyphicon-ice-lolly:before { + content: "\e231"; } + +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; } + +.glyphicon-education:before { + content: "\e233"; } + +.glyphicon-option-horizontal:before { + content: "\e234"; } + +.glyphicon-option-vertical:before { + content: "\e235"; } + +.glyphicon-menu-hamburger:before { + content: "\e236"; } + +.glyphicon-modal-window:before { + content: "\e237"; } + +.glyphicon-oil:before { + content: "\e238"; } + +.glyphicon-grain:before { + content: "\e239"; } + +.glyphicon-sunglasses:before { + content: "\e240"; } + +.glyphicon-text-size:before { + content: "\e241"; } + +.glyphicon-text-color:before { + content: "\e242"; } + +.glyphicon-text-background:before { + content: "\e243"; } + +.glyphicon-object-align-top:before { + content: "\e244"; } + +.glyphicon-object-align-bottom:before { + content: "\e245"; } + +.glyphicon-object-align-horizontal:before { + content: "\e246"; } + +.glyphicon-object-align-left:before { + content: "\e247"; } + +.glyphicon-object-align-vertical:before { + content: "\e248"; } + +.glyphicon-object-align-right:before { + content: "\e249"; } + +.glyphicon-triangle-right:before { + content: "\e250"; } + +.glyphicon-triangle-left:before { + content: "\e251"; } + +.glyphicon-triangle-bottom:before { + content: "\e252"; } + +.glyphicon-triangle-top:before { + content: "\e253"; } + +.glyphicon-console:before { + content: "\e254"; } + +.glyphicon-superscript:before { + content: "\e255"; } + +.glyphicon-subscript:before { + content: "\e256"; } + +.glyphicon-menu-left:before { + content: "\e257"; } + +.glyphicon-menu-right:before { + content: "\e258"; } + +.glyphicon-menu-down:before { + content: "\e259"; } + +.glyphicon-menu-up:before { + content: "\e260"; } + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + +body { + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857; + color: #333333; + background-color: #fff; } + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +a { + color: #16a2c5; + text-decoration: none; } + a:hover, a:focus { + color: #0e6980; + text-decoration: underline; } + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +figure { + margin: 0; } + +img { + vertical-align: middle; } + +.img-responsive { + display: block; + max-width: 100%; + height: auto; } + +.img-rounded { + border-radius: 6px; } + +.img-thumbnail { + padding: 4px; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; } + +.img-circle { + border-radius: 50%; } + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +[role="button"] { + cursor: pointer; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: inherit; + font-weight: 400; + line-height: 1.1; + color: inherit; } + h1 small, + h1 .small, h2 small, + h2 .small, h3 small, + h3 .small, h4 small, + h4 .small, h5 small, + h5 .small, h6 small, + h6 .small, + .h1 small, + .h1 .small, .h2 small, + .h2 .small, .h3 small, + .h3 .small, .h4 small, + .h4 .small, .h5 small, + .h5 .small, .h6 small, + .h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; } + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: 20px; + margin-bottom: 10px; } + h1 small, + h1 .small, .h1 small, + .h1 .small, + h2 small, + h2 .small, .h2 small, + .h2 .small, + h3 small, + h3 .small, .h3 small, + .h3 .small { + font-size: 65%; } + +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: 10px; + margin-bottom: 10px; } + h4 small, + h4 .small, .h4 small, + .h4 .small, + h5 small, + h5 .small, .h5 small, + .h5 .small, + h6 small, + h6 .small, .h6 small, + .h6 .small { + font-size: 75%; } + +h1, .h1 { + font-size: 30px; } + +h2, .h2 { + font-size: 23px; } + +h3, .h3 { + font-size: 18px; } + +h4, .h4 { + font-size: 16px; } + +h5, .h5 { + font-size: 14px; } + +h6, .h6 { + font-size: 12px; } + +p { + margin: 0 0 10px; } + +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; } + @media (min-width: 768px) { + .lead { + font-size: 21px; } } + +small, +.small { + font-size: 85%; } + +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; } + +.text-left { + text-align: left; } + +.text-right { + text-align: right; } + +.text-center { + text-align: center; } + +.text-justify { + text-align: justify; } + +.text-nowrap { + white-space: nowrap; } + +.text-lowercase { + text-transform: lowercase; } + +.text-uppercase, .initialism { + text-transform: uppercase; } + +.text-capitalize { + text-transform: capitalize; } + +.text-muted { + color: #777777; } + +.text-primary { + color: #16a2c5; } + +a.text-primary:hover, +a.text-primary:focus { + color: #117c97; } + +.text-success { + color: #3c763d; } + +a.text-success:hover, +a.text-success:focus { + color: #2b542c; } + +.text-info { + color: #31708f; } + +a.text-info:hover, +a.text-info:focus { + color: #245269; } + +.text-warning { + color: #8a6d3b; } + +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; } + +.text-danger { + color: #a94442; } + +a.text-danger:hover, +a.text-danger:focus { + color: #843534; } + +.bg-primary { + color: #fff; } + +.bg-primary { + background-color: #16a2c5; } + +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #117c97; } + +.bg-success { + background-color: #dff0d8; } + +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; } + +.bg-info { + background-color: #d9edf7; } + +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; } + +.bg-warning { + background-color: #fcf8e3; } + +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; } + +.bg-danger { + background-color: #f2dede; } + +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; } + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; } + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-bottom: 0; } + +.list-unstyled { + padding-left: 0; + list-style: none; } + +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; } + .list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; } + +dl { + margin-top: 0; + margin-bottom: 20px; } + +dt, +dd { + line-height: 1.42857; } + +dt { + font-weight: bold; } + +dd { + margin-left: 0; } + +.dl-horizontal dd:before, .dl-horizontal dd:after { + content: " "; + display: table; } + +.dl-horizontal dd:after { + clear: both; } + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .dl-horizontal dd { + margin-left: 180px; } } + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; } + +.initialism { + font-size: 90%; } + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eeeeee; } + blockquote p:last-child, + blockquote ul:last-child, + blockquote ol:last-child { + margin-bottom: 0; } + blockquote footer, + blockquote small, + blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857; + color: #777777; } + blockquote footer:before, + blockquote small:before, + blockquote .small:before { + content: '\2014 \00A0'; } + +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; } + .blockquote-reverse footer:before, + .blockquote-reverse small:before, + .blockquote-reverse .small:before, + blockquote.pull-right footer:before, + blockquote.pull-right small:before, + blockquote.pull-right .small:before { + content: ''; } + .blockquote-reverse footer:after, + .blockquote-reverse small:after, + .blockquote-reverse .small:after, + blockquote.pull-right footer:after, + blockquote.pull-right small:after, + blockquote.pull-right .small:after { + content: '\00A0 \2014'; } + +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857; } + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; } + +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; } + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: transparent; + border: 1px solid transparent; + border-radius: 4px; } + pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .container:before, .container:after { + content: " "; + display: table; } + .container:after { + clear: both; } + @media (min-width: 768px) { + .container { + width: 750px; } } + @media (min-width: 992px) { + .container { + width: 970px; } } + @media (min-width: 1200px) { + .container { + width: 1170px; } } + +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .container-fluid:before, .container-fluid:after { + content: " "; + display: table; } + .container-fluid:after { + clear: both; } + +.row { + margin-left: -15px; + margin-right: -15px; } + .row:before, .row:after { + content: " "; + display: table; } + .row:after { + clear: both; } + +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12, .col-xs-13, .col-sm-13, .col-md-13, .col-lg-13, .col-xs-14, .col-sm-14, .col-md-14, .col-lg-14, .col-xs-15, .col-sm-15, .col-md-15, .col-lg-15, .col-xs-16, .col-sm-16, .col-md-16, .col-lg-16, .col-xs-17, .col-sm-17, .col-md-17, .col-lg-17, .col-xs-18, .col-sm-18, .col-md-18, .col-lg-18, .col-xs-19, .col-sm-19, .col-md-19, .col-lg-19, .col-xs-20, .col-sm-20, .col-md-20, .col-lg-20, .col-xs-21, .col-sm-21, .col-md-21, .col-lg-21, .col-xs-22, .col-sm-22, .col-md-22, .col-lg-22, .col-xs-23, .col-sm-23, .col-md-23, .col-lg-23, .col-xs-24, .col-sm-24, .col-md-24, .col-lg-24 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; } + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-13, .col-xs-14, .col-xs-15, .col-xs-16, .col-xs-17, .col-xs-18, .col-xs-19, .col-xs-20, .col-xs-21, .col-xs-22, .col-xs-23, .col-xs-24 { + float: left; } + +.col-xs-1 { + width: 4.16667%; } + +.col-xs-2 { + width: 8.33333%; } + +.col-xs-3 { + width: 12.5%; } + +.col-xs-4 { + width: 16.66667%; } + +.col-xs-5 { + width: 20.83333%; } + +.col-xs-6 { + width: 25%; } + +.col-xs-7 { + width: 29.16667%; } + +.col-xs-8 { + width: 33.33333%; } + +.col-xs-9 { + width: 37.5%; } + +.col-xs-10 { + width: 41.66667%; } + +.col-xs-11 { + width: 45.83333%; } + +.col-xs-12 { + width: 50%; } + +.col-xs-13 { + width: 54.16667%; } + +.col-xs-14 { + width: 58.33333%; } + +.col-xs-15 { + width: 62.5%; } + +.col-xs-16 { + width: 66.66667%; } + +.col-xs-17 { + width: 70.83333%; } + +.col-xs-18 { + width: 75%; } + +.col-xs-19 { + width: 79.16667%; } + +.col-xs-20 { + width: 83.33333%; } + +.col-xs-21 { + width: 87.5%; } + +.col-xs-22 { + width: 91.66667%; } + +.col-xs-23 { + width: 95.83333%; } + +.col-xs-24 { + width: 100%; } + +.col-xs-pull-0 { + right: auto; } + +.col-xs-pull-1 { + right: 4.16667%; } + +.col-xs-pull-2 { + right: 8.33333%; } + +.col-xs-pull-3 { + right: 12.5%; } + +.col-xs-pull-4 { + right: 16.66667%; } + +.col-xs-pull-5 { + right: 20.83333%; } + +.col-xs-pull-6 { + right: 25%; } + +.col-xs-pull-7 { + right: 29.16667%; } + +.col-xs-pull-8 { + right: 33.33333%; } + +.col-xs-pull-9 { + right: 37.5%; } + +.col-xs-pull-10 { + right: 41.66667%; } + +.col-xs-pull-11 { + right: 45.83333%; } + +.col-xs-pull-12 { + right: 50%; } + +.col-xs-pull-13 { + right: 54.16667%; } + +.col-xs-pull-14 { + right: 58.33333%; } + +.col-xs-pull-15 { + right: 62.5%; } + +.col-xs-pull-16 { + right: 66.66667%; } + +.col-xs-pull-17 { + right: 70.83333%; } + +.col-xs-pull-18 { + right: 75%; } + +.col-xs-pull-19 { + right: 79.16667%; } + +.col-xs-pull-20 { + right: 83.33333%; } + +.col-xs-pull-21 { + right: 87.5%; } + +.col-xs-pull-22 { + right: 91.66667%; } + +.col-xs-pull-23 { + right: 95.83333%; } + +.col-xs-pull-24 { + right: 100%; } + +.col-xs-push-0 { + left: auto; } + +.col-xs-push-1 { + left: 4.16667%; } + +.col-xs-push-2 { + left: 8.33333%; } + +.col-xs-push-3 { + left: 12.5%; } + +.col-xs-push-4 { + left: 16.66667%; } + +.col-xs-push-5 { + left: 20.83333%; } + +.col-xs-push-6 { + left: 25%; } + +.col-xs-push-7 { + left: 29.16667%; } + +.col-xs-push-8 { + left: 33.33333%; } + +.col-xs-push-9 { + left: 37.5%; } + +.col-xs-push-10 { + left: 41.66667%; } + +.col-xs-push-11 { + left: 45.83333%; } + +.col-xs-push-12 { + left: 50%; } + +.col-xs-push-13 { + left: 54.16667%; } + +.col-xs-push-14 { + left: 58.33333%; } + +.col-xs-push-15 { + left: 62.5%; } + +.col-xs-push-16 { + left: 66.66667%; } + +.col-xs-push-17 { + left: 70.83333%; } + +.col-xs-push-18 { + left: 75%; } + +.col-xs-push-19 { + left: 79.16667%; } + +.col-xs-push-20 { + left: 83.33333%; } + +.col-xs-push-21 { + left: 87.5%; } + +.col-xs-push-22 { + left: 91.66667%; } + +.col-xs-push-23 { + left: 95.83333%; } + +.col-xs-push-24 { + left: 100%; } + +.col-xs-offset-0 { + margin-left: 0%; } + +.col-xs-offset-1 { + margin-left: 4.16667%; } + +.col-xs-offset-2 { + margin-left: 8.33333%; } + +.col-xs-offset-3 { + margin-left: 12.5%; } + +.col-xs-offset-4 { + margin-left: 16.66667%; } + +.col-xs-offset-5 { + margin-left: 20.83333%; } + +.col-xs-offset-6 { + margin-left: 25%; } + +.col-xs-offset-7 { + margin-left: 29.16667%; } + +.col-xs-offset-8 { + margin-left: 33.33333%; } + +.col-xs-offset-9 { + margin-left: 37.5%; } + +.col-xs-offset-10 { + margin-left: 41.66667%; } + +.col-xs-offset-11 { + margin-left: 45.83333%; } + +.col-xs-offset-12 { + margin-left: 50%; } + +.col-xs-offset-13 { + margin-left: 54.16667%; } + +.col-xs-offset-14 { + margin-left: 58.33333%; } + +.col-xs-offset-15 { + margin-left: 62.5%; } + +.col-xs-offset-16 { + margin-left: 66.66667%; } + +.col-xs-offset-17 { + margin-left: 70.83333%; } + +.col-xs-offset-18 { + margin-left: 75%; } + +.col-xs-offset-19 { + margin-left: 79.16667%; } + +.col-xs-offset-20 { + margin-left: 83.33333%; } + +.col-xs-offset-21 { + margin-left: 87.5%; } + +.col-xs-offset-22 { + margin-left: 91.66667%; } + +.col-xs-offset-23 { + margin-left: 95.83333%; } + +.col-xs-offset-24 { + margin-left: 100%; } + +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-13, .col-sm-14, .col-sm-15, .col-sm-16, .col-sm-17, .col-sm-18, .col-sm-19, .col-sm-20, .col-sm-21, .col-sm-22, .col-sm-23, .col-sm-24 { + float: left; } + .col-sm-1 { + width: 4.16667%; } + .col-sm-2 { + width: 8.33333%; } + .col-sm-3 { + width: 12.5%; } + .col-sm-4 { + width: 16.66667%; } + .col-sm-5 { + width: 20.83333%; } + .col-sm-6 { + width: 25%; } + .col-sm-7 { + width: 29.16667%; } + .col-sm-8 { + width: 33.33333%; } + .col-sm-9 { + width: 37.5%; } + .col-sm-10 { + width: 41.66667%; } + .col-sm-11 { + width: 45.83333%; } + .col-sm-12 { + width: 50%; } + .col-sm-13 { + width: 54.16667%; } + .col-sm-14 { + width: 58.33333%; } + .col-sm-15 { + width: 62.5%; } + .col-sm-16 { + width: 66.66667%; } + .col-sm-17 { + width: 70.83333%; } + .col-sm-18 { + width: 75%; } + .col-sm-19 { + width: 79.16667%; } + .col-sm-20 { + width: 83.33333%; } + .col-sm-21 { + width: 87.5%; } + .col-sm-22 { + width: 91.66667%; } + .col-sm-23 { + width: 95.83333%; } + .col-sm-24 { + width: 100%; } + .col-sm-pull-0 { + right: auto; } + .col-sm-pull-1 { + right: 4.16667%; } + .col-sm-pull-2 { + right: 8.33333%; } + .col-sm-pull-3 { + right: 12.5%; } + .col-sm-pull-4 { + right: 16.66667%; } + .col-sm-pull-5 { + right: 20.83333%; } + .col-sm-pull-6 { + right: 25%; } + .col-sm-pull-7 { + right: 29.16667%; } + .col-sm-pull-8 { + right: 33.33333%; } + .col-sm-pull-9 { + right: 37.5%; } + .col-sm-pull-10 { + right: 41.66667%; } + .col-sm-pull-11 { + right: 45.83333%; } + .col-sm-pull-12 { + right: 50%; } + .col-sm-pull-13 { + right: 54.16667%; } + .col-sm-pull-14 { + right: 58.33333%; } + .col-sm-pull-15 { + right: 62.5%; } + .col-sm-pull-16 { + right: 66.66667%; } + .col-sm-pull-17 { + right: 70.83333%; } + .col-sm-pull-18 { + right: 75%; } + .col-sm-pull-19 { + right: 79.16667%; } + .col-sm-pull-20 { + right: 83.33333%; } + .col-sm-pull-21 { + right: 87.5%; } + .col-sm-pull-22 { + right: 91.66667%; } + .col-sm-pull-23 { + right: 95.83333%; } + .col-sm-pull-24 { + right: 100%; } + .col-sm-push-0 { + left: auto; } + .col-sm-push-1 { + left: 4.16667%; } + .col-sm-push-2 { + left: 8.33333%; } + .col-sm-push-3 { + left: 12.5%; } + .col-sm-push-4 { + left: 16.66667%; } + .col-sm-push-5 { + left: 20.83333%; } + .col-sm-push-6 { + left: 25%; } + .col-sm-push-7 { + left: 29.16667%; } + .col-sm-push-8 { + left: 33.33333%; } + .col-sm-push-9 { + left: 37.5%; } + .col-sm-push-10 { + left: 41.66667%; } + .col-sm-push-11 { + left: 45.83333%; } + .col-sm-push-12 { + left: 50%; } + .col-sm-push-13 { + left: 54.16667%; } + .col-sm-push-14 { + left: 58.33333%; } + .col-sm-push-15 { + left: 62.5%; } + .col-sm-push-16 { + left: 66.66667%; } + .col-sm-push-17 { + left: 70.83333%; } + .col-sm-push-18 { + left: 75%; } + .col-sm-push-19 { + left: 79.16667%; } + .col-sm-push-20 { + left: 83.33333%; } + .col-sm-push-21 { + left: 87.5%; } + .col-sm-push-22 { + left: 91.66667%; } + .col-sm-push-23 { + left: 95.83333%; } + .col-sm-push-24 { + left: 100%; } + .col-sm-offset-0 { + margin-left: 0%; } + .col-sm-offset-1 { + margin-left: 4.16667%; } + .col-sm-offset-2 { + margin-left: 8.33333%; } + .col-sm-offset-3 { + margin-left: 12.5%; } + .col-sm-offset-4 { + margin-left: 16.66667%; } + .col-sm-offset-5 { + margin-left: 20.83333%; } + .col-sm-offset-6 { + margin-left: 25%; } + .col-sm-offset-7 { + margin-left: 29.16667%; } + .col-sm-offset-8 { + margin-left: 33.33333%; } + .col-sm-offset-9 { + margin-left: 37.5%; } + .col-sm-offset-10 { + margin-left: 41.66667%; } + .col-sm-offset-11 { + margin-left: 45.83333%; } + .col-sm-offset-12 { + margin-left: 50%; } + .col-sm-offset-13 { + margin-left: 54.16667%; } + .col-sm-offset-14 { + margin-left: 58.33333%; } + .col-sm-offset-15 { + margin-left: 62.5%; } + .col-sm-offset-16 { + margin-left: 66.66667%; } + .col-sm-offset-17 { + margin-left: 70.83333%; } + .col-sm-offset-18 { + margin-left: 75%; } + .col-sm-offset-19 { + margin-left: 79.16667%; } + .col-sm-offset-20 { + margin-left: 83.33333%; } + .col-sm-offset-21 { + margin-left: 87.5%; } + .col-sm-offset-22 { + margin-left: 91.66667%; } + .col-sm-offset-23 { + margin-left: 95.83333%; } + .col-sm-offset-24 { + margin-left: 100%; } } + +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-13, .col-md-14, .col-md-15, .col-md-16, .col-md-17, .col-md-18, .col-md-19, .col-md-20, .col-md-21, .col-md-22, .col-md-23, .col-md-24 { + float: left; } + .col-md-1 { + width: 4.16667%; } + .col-md-2 { + width: 8.33333%; } + .col-md-3 { + width: 12.5%; } + .col-md-4 { + width: 16.66667%; } + .col-md-5 { + width: 20.83333%; } + .col-md-6 { + width: 25%; } + .col-md-7 { + width: 29.16667%; } + .col-md-8 { + width: 33.33333%; } + .col-md-9 { + width: 37.5%; } + .col-md-10 { + width: 41.66667%; } + .col-md-11 { + width: 45.83333%; } + .col-md-12 { + width: 50%; } + .col-md-13 { + width: 54.16667%; } + .col-md-14 { + width: 58.33333%; } + .col-md-15 { + width: 62.5%; } + .col-md-16 { + width: 66.66667%; } + .col-md-17 { + width: 70.83333%; } + .col-md-18 { + width: 75%; } + .col-md-19 { + width: 79.16667%; } + .col-md-20 { + width: 83.33333%; } + .col-md-21 { + width: 87.5%; } + .col-md-22 { + width: 91.66667%; } + .col-md-23 { + width: 95.83333%; } + .col-md-24 { + width: 100%; } + .col-md-pull-0 { + right: auto; } + .col-md-pull-1 { + right: 4.16667%; } + .col-md-pull-2 { + right: 8.33333%; } + .col-md-pull-3 { + right: 12.5%; } + .col-md-pull-4 { + right: 16.66667%; } + .col-md-pull-5 { + right: 20.83333%; } + .col-md-pull-6 { + right: 25%; } + .col-md-pull-7 { + right: 29.16667%; } + .col-md-pull-8 { + right: 33.33333%; } + .col-md-pull-9 { + right: 37.5%; } + .col-md-pull-10 { + right: 41.66667%; } + .col-md-pull-11 { + right: 45.83333%; } + .col-md-pull-12 { + right: 50%; } + .col-md-pull-13 { + right: 54.16667%; } + .col-md-pull-14 { + right: 58.33333%; } + .col-md-pull-15 { + right: 62.5%; } + .col-md-pull-16 { + right: 66.66667%; } + .col-md-pull-17 { + right: 70.83333%; } + .col-md-pull-18 { + right: 75%; } + .col-md-pull-19 { + right: 79.16667%; } + .col-md-pull-20 { + right: 83.33333%; } + .col-md-pull-21 { + right: 87.5%; } + .col-md-pull-22 { + right: 91.66667%; } + .col-md-pull-23 { + right: 95.83333%; } + .col-md-pull-24 { + right: 100%; } + .col-md-push-0 { + left: auto; } + .col-md-push-1 { + left: 4.16667%; } + .col-md-push-2 { + left: 8.33333%; } + .col-md-push-3 { + left: 12.5%; } + .col-md-push-4 { + left: 16.66667%; } + .col-md-push-5 { + left: 20.83333%; } + .col-md-push-6 { + left: 25%; } + .col-md-push-7 { + left: 29.16667%; } + .col-md-push-8 { + left: 33.33333%; } + .col-md-push-9 { + left: 37.5%; } + .col-md-push-10 { + left: 41.66667%; } + .col-md-push-11 { + left: 45.83333%; } + .col-md-push-12 { + left: 50%; } + .col-md-push-13 { + left: 54.16667%; } + .col-md-push-14 { + left: 58.33333%; } + .col-md-push-15 { + left: 62.5%; } + .col-md-push-16 { + left: 66.66667%; } + .col-md-push-17 { + left: 70.83333%; } + .col-md-push-18 { + left: 75%; } + .col-md-push-19 { + left: 79.16667%; } + .col-md-push-20 { + left: 83.33333%; } + .col-md-push-21 { + left: 87.5%; } + .col-md-push-22 { + left: 91.66667%; } + .col-md-push-23 { + left: 95.83333%; } + .col-md-push-24 { + left: 100%; } + .col-md-offset-0 { + margin-left: 0%; } + .col-md-offset-1 { + margin-left: 4.16667%; } + .col-md-offset-2 { + margin-left: 8.33333%; } + .col-md-offset-3 { + margin-left: 12.5%; } + .col-md-offset-4 { + margin-left: 16.66667%; } + .col-md-offset-5 { + margin-left: 20.83333%; } + .col-md-offset-6 { + margin-left: 25%; } + .col-md-offset-7 { + margin-left: 29.16667%; } + .col-md-offset-8 { + margin-left: 33.33333%; } + .col-md-offset-9 { + margin-left: 37.5%; } + .col-md-offset-10 { + margin-left: 41.66667%; } + .col-md-offset-11 { + margin-left: 45.83333%; } + .col-md-offset-12 { + margin-left: 50%; } + .col-md-offset-13 { + margin-left: 54.16667%; } + .col-md-offset-14 { + margin-left: 58.33333%; } + .col-md-offset-15 { + margin-left: 62.5%; } + .col-md-offset-16 { + margin-left: 66.66667%; } + .col-md-offset-17 { + margin-left: 70.83333%; } + .col-md-offset-18 { + margin-left: 75%; } + .col-md-offset-19 { + margin-left: 79.16667%; } + .col-md-offset-20 { + margin-left: 83.33333%; } + .col-md-offset-21 { + margin-left: 87.5%; } + .col-md-offset-22 { + margin-left: 91.66667%; } + .col-md-offset-23 { + margin-left: 95.83333%; } + .col-md-offset-24 { + margin-left: 100%; } } + +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-13, .col-lg-14, .col-lg-15, .col-lg-16, .col-lg-17, .col-lg-18, .col-lg-19, .col-lg-20, .col-lg-21, .col-lg-22, .col-lg-23, .col-lg-24 { + float: left; } + .col-lg-1 { + width: 4.16667%; } + .col-lg-2 { + width: 8.33333%; } + .col-lg-3 { + width: 12.5%; } + .col-lg-4 { + width: 16.66667%; } + .col-lg-5 { + width: 20.83333%; } + .col-lg-6 { + width: 25%; } + .col-lg-7 { + width: 29.16667%; } + .col-lg-8 { + width: 33.33333%; } + .col-lg-9 { + width: 37.5%; } + .col-lg-10 { + width: 41.66667%; } + .col-lg-11 { + width: 45.83333%; } + .col-lg-12 { + width: 50%; } + .col-lg-13 { + width: 54.16667%; } + .col-lg-14 { + width: 58.33333%; } + .col-lg-15 { + width: 62.5%; } + .col-lg-16 { + width: 66.66667%; } + .col-lg-17 { + width: 70.83333%; } + .col-lg-18 { + width: 75%; } + .col-lg-19 { + width: 79.16667%; } + .col-lg-20 { + width: 83.33333%; } + .col-lg-21 { + width: 87.5%; } + .col-lg-22 { + width: 91.66667%; } + .col-lg-23 { + width: 95.83333%; } + .col-lg-24 { + width: 100%; } + .col-lg-pull-0 { + right: auto; } + .col-lg-pull-1 { + right: 4.16667%; } + .col-lg-pull-2 { + right: 8.33333%; } + .col-lg-pull-3 { + right: 12.5%; } + .col-lg-pull-4 { + right: 16.66667%; } + .col-lg-pull-5 { + right: 20.83333%; } + .col-lg-pull-6 { + right: 25%; } + .col-lg-pull-7 { + right: 29.16667%; } + .col-lg-pull-8 { + right: 33.33333%; } + .col-lg-pull-9 { + right: 37.5%; } + .col-lg-pull-10 { + right: 41.66667%; } + .col-lg-pull-11 { + right: 45.83333%; } + .col-lg-pull-12 { + right: 50%; } + .col-lg-pull-13 { + right: 54.16667%; } + .col-lg-pull-14 { + right: 58.33333%; } + .col-lg-pull-15 { + right: 62.5%; } + .col-lg-pull-16 { + right: 66.66667%; } + .col-lg-pull-17 { + right: 70.83333%; } + .col-lg-pull-18 { + right: 75%; } + .col-lg-pull-19 { + right: 79.16667%; } + .col-lg-pull-20 { + right: 83.33333%; } + .col-lg-pull-21 { + right: 87.5%; } + .col-lg-pull-22 { + right: 91.66667%; } + .col-lg-pull-23 { + right: 95.83333%; } + .col-lg-pull-24 { + right: 100%; } + .col-lg-push-0 { + left: auto; } + .col-lg-push-1 { + left: 4.16667%; } + .col-lg-push-2 { + left: 8.33333%; } + .col-lg-push-3 { + left: 12.5%; } + .col-lg-push-4 { + left: 16.66667%; } + .col-lg-push-5 { + left: 20.83333%; } + .col-lg-push-6 { + left: 25%; } + .col-lg-push-7 { + left: 29.16667%; } + .col-lg-push-8 { + left: 33.33333%; } + .col-lg-push-9 { + left: 37.5%; } + .col-lg-push-10 { + left: 41.66667%; } + .col-lg-push-11 { + left: 45.83333%; } + .col-lg-push-12 { + left: 50%; } + .col-lg-push-13 { + left: 54.16667%; } + .col-lg-push-14 { + left: 58.33333%; } + .col-lg-push-15 { + left: 62.5%; } + .col-lg-push-16 { + left: 66.66667%; } + .col-lg-push-17 { + left: 70.83333%; } + .col-lg-push-18 { + left: 75%; } + .col-lg-push-19 { + left: 79.16667%; } + .col-lg-push-20 { + left: 83.33333%; } + .col-lg-push-21 { + left: 87.5%; } + .col-lg-push-22 { + left: 91.66667%; } + .col-lg-push-23 { + left: 95.83333%; } + .col-lg-push-24 { + left: 100%; } + .col-lg-offset-0 { + margin-left: 0%; } + .col-lg-offset-1 { + margin-left: 4.16667%; } + .col-lg-offset-2 { + margin-left: 8.33333%; } + .col-lg-offset-3 { + margin-left: 12.5%; } + .col-lg-offset-4 { + margin-left: 16.66667%; } + .col-lg-offset-5 { + margin-left: 20.83333%; } + .col-lg-offset-6 { + margin-left: 25%; } + .col-lg-offset-7 { + margin-left: 29.16667%; } + .col-lg-offset-8 { + margin-left: 33.33333%; } + .col-lg-offset-9 { + margin-left: 37.5%; } + .col-lg-offset-10 { + margin-left: 41.66667%; } + .col-lg-offset-11 { + margin-left: 45.83333%; } + .col-lg-offset-12 { + margin-left: 50%; } + .col-lg-offset-13 { + margin-left: 54.16667%; } + .col-lg-offset-14 { + margin-left: 58.33333%; } + .col-lg-offset-15 { + margin-left: 62.5%; } + .col-lg-offset-16 { + margin-left: 66.66667%; } + .col-lg-offset-17 { + margin-left: 70.83333%; } + .col-lg-offset-18 { + margin-left: 75%; } + .col-lg-offset-19 { + margin-left: 79.16667%; } + .col-lg-offset-20 { + margin-left: 83.33333%; } + .col-lg-offset-21 { + margin-left: 87.5%; } + .col-lg-offset-22 { + margin-left: 91.66667%; } + .col-lg-offset-23 { + margin-left: 95.83333%; } + .col-lg-offset-24 { + margin-left: 100%; } } + +table { + background-color: transparent; } + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; } + +th { + text-align: left; } + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; } + .table > thead > tr > th, + .table > thead > tr > td, + .table > tbody > tr > th, + .table > tbody > tr > td, + .table > tfoot > tr > th, + .table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857; + vertical-align: top; + border-top: 1px solid #ddd; } + .table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; } + .table > caption + thead > tr:first-child > th, + .table > caption + thead > tr:first-child > td, + .table > colgroup + thead > tr:first-child > th, + .table > colgroup + thead > tr:first-child > td, + .table > thead:first-child > tr:first-child > th, + .table > thead:first-child > tr:first-child > td { + border-top: 0; } + .table > tbody + tbody { + border-top: 2px solid #ddd; } + .table .table { + background-color: #fff; } + +.table-condensed > thead > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > th, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > th, +.table-condensed > tfoot > tr > td { + padding: 5px; } + +.table-bordered { + border: 1px solid #ddd; } + .table-bordered > thead > tr > th, + .table-bordered > thead > tr > td, + .table-bordered > tbody > tr > th, + .table-bordered > tbody > tr > td, + .table-bordered > tfoot > tr > th, + .table-bordered > tfoot > tr > td { + border: 1px solid #ddd; } + .table-bordered > thead > tr > th, + .table-bordered > thead > tr > td { + border-bottom-width: 2px; } + +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; } + +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; } + +table col[class*="col-"] { + position: static; + float: none; + display: table-column; } + +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; } + +.table > thead > tr > td.active, +.table > thead > tr > th.active, +.table > thead > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr > td.active, +.table > tbody > tr > th.active, +.table > tbody > tr.active > td, +.table > tbody > tr.active > th, +.table > tfoot > tr > td.active, +.table > tfoot > tr > th.active, +.table > tfoot > tr.active > td, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; } + +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; } + +.table > thead > tr > td.success, +.table > thead > tr > th.success, +.table > thead > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr > td.success, +.table > tbody > tr > th.success, +.table > tbody > tr.success > td, +.table > tbody > tr.success > th, +.table > tfoot > tr > td.success, +.table > tfoot > tr > th.success, +.table > tfoot > tr.success > td, +.table > tfoot > tr.success > th { + background-color: #dff0d8; } + +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; } + +.table > thead > tr > td.info, +.table > thead > tr > th.info, +.table > thead > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr > td.info, +.table > tbody > tr > th.info, +.table > tbody > tr.info > td, +.table > tbody > tr.info > th, +.table > tfoot > tr > td.info, +.table > tfoot > tr > th.info, +.table > tfoot > tr.info > td, +.table > tfoot > tr.info > th { + background-color: #d9edf7; } + +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; } + +.table > thead > tr > td.warning, +.table > thead > tr > th.warning, +.table > thead > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr > td.warning, +.table > tbody > tr > th.warning, +.table > tbody > tr.warning > td, +.table > tbody > tr.warning > th, +.table > tfoot > tr > td.warning, +.table > tfoot > tr > th.warning, +.table > tfoot > tr.warning > td, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; } + +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; } + +.table > thead > tr > td.danger, +.table > thead > tr > th.danger, +.table > thead > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr > td.danger, +.table > tbody > tr > th.danger, +.table > tbody > tr.danger > td, +.table > tbody > tr.danger > th, +.table > tfoot > tr > td.danger, +.table > tfoot > tr > th.danger, +.table > tfoot > tr.danger > td, +.table > tfoot > tr.danger > th { + background-color: #f2dede; } + +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; } + +.table-responsive { + overflow-x: auto; + min-height: 0.01%; } + @media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; } + .table-responsive > .table { + margin-bottom: 0; } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; } + .table-responsive > .table-bordered { + border: 0; } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; } } + +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; } + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; } + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; } + +input[type="file"] { + display: block; } + +input[type="range"] { + display: block; + width: 100%; } + +select[multiple], +select[size] { + height: auto; } + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +output { + display: block; + padding-top: 8px; + font-size: 14px; + line-height: 1.42857; + color: #555555; } + +.form-control { + display: block; + width: 100%; + height: 35px; + padding: 7px 14px; + font-size: 14px; + line-height: 1.42857; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } + .form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + .form-control::-moz-placeholder { + color: #999; + opacity: 1; } + .form-control:-ms-input-placeholder { + color: #999; } + .form-control::-webkit-input-placeholder { + color: #999; } + .form-control::-ms-expand { + border: 0; + background-color: transparent; } + .form-control[disabled], .form-control[readonly], + fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; } + .form-control[disabled], + fieldset[disabled] .form-control { + cursor: not-allowed; } + +textarea.form-control { + height: auto; } + +input[type="search"] { + -webkit-appearance: none; } + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 35px; } + input[type="date"].input-sm, .input-group-sm > input.form-control[type="date"], + .input-group-sm > input.input-group-addon[type="date"], + .input-group-sm > .input-group-btn > input.btn[type="date"], + .input-group-sm input[type="date"], + input[type="time"].input-sm, + .input-group-sm > input.form-control[type="time"], + .input-group-sm > input.input-group-addon[type="time"], + .input-group-sm > .input-group-btn > input.btn[type="time"], + .input-group-sm + input[type="time"], + input[type="datetime-local"].input-sm, + .input-group-sm > input.form-control[type="datetime-local"], + .input-group-sm > input.input-group-addon[type="datetime-local"], + .input-group-sm > .input-group-btn > input.btn[type="datetime-local"], + .input-group-sm + input[type="datetime-local"], + input[type="month"].input-sm, + .input-group-sm > input.form-control[type="month"], + .input-group-sm > input.input-group-addon[type="month"], + .input-group-sm > .input-group-btn > input.btn[type="month"], + .input-group-sm + input[type="month"] { + line-height: 30px; } + input[type="date"].input-lg, .input-group-lg > input.form-control[type="date"], + .input-group-lg > input.input-group-addon[type="date"], + .input-group-lg > .input-group-btn > input.btn[type="date"], + .input-group-lg input[type="date"], + input[type="time"].input-lg, + .input-group-lg > input.form-control[type="time"], + .input-group-lg > input.input-group-addon[type="time"], + .input-group-lg > .input-group-btn > input.btn[type="time"], + .input-group-lg + input[type="time"], + input[type="datetime-local"].input-lg, + .input-group-lg > input.form-control[type="datetime-local"], + .input-group-lg > input.input-group-addon[type="datetime-local"], + .input-group-lg > .input-group-btn > input.btn[type="datetime-local"], + .input-group-lg + input[type="datetime-local"], + input[type="month"].input-lg, + .input-group-lg > input.form-control[type="month"], + .input-group-lg > input.input-group-addon[type="month"], + .input-group-lg > .input-group-btn > input.btn[type="month"], + .input-group-lg + input[type="month"] { + line-height: 58px; } } + +.form-group { + margin-bottom: 15px; } + +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; } + .radio label, + .checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; } + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; } + +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; } + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; } + +input[type="radio"][disabled], input[type="radio"].disabled, +fieldset[disabled] input[type="radio"], +input[type="checkbox"][disabled], +input[type="checkbox"].disabled, +fieldset[disabled] +input[type="checkbox"] { + cursor: not-allowed; } + +.radio-inline.disabled, +fieldset[disabled] .radio-inline, +.checkbox-inline.disabled, +fieldset[disabled] +.checkbox-inline { + cursor: not-allowed; } + +.radio.disabled label, +fieldset[disabled] .radio label, +.checkbox.disabled label, +fieldset[disabled] +.checkbox label { + cursor: not-allowed; } + +.form-control-static { + padding-top: 8px; + padding-bottom: 8px; + margin-bottom: 0; + min-height: 34px; } + .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, + .input-group-lg > .form-control-static.input-group-addon, + .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, + .input-group-sm > .form-control-static.input-group-addon, + .input-group-sm > .input-group-btn > .form-control-static.btn { + padding-left: 0; + padding-right: 0; } + +.input-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +select.input-sm, .input-group-sm > select.form-control, +.input-group-sm > select.input-group-addon, +.input-group-sm > .input-group-btn > select.btn { + height: 30px; + line-height: 30px; } + +textarea.input-sm, .input-group-sm > textarea.form-control, +.input-group-sm > textarea.input-group-addon, +.input-group-sm > .input-group-btn > textarea.btn, +select[multiple].input-sm, +.input-group-sm > select.form-control[multiple], +.input-group-sm > select.input-group-addon[multiple], +.input-group-sm > .input-group-btn > select.btn[multiple] { + height: auto; } + +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; } + +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; } + +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; } + +.input-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 58px; + padding: 16px 24px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; } + +select.input-lg, .input-group-lg > select.form-control, +.input-group-lg > select.input-group-addon, +.input-group-lg > .input-group-btn > select.btn { + height: 58px; + line-height: 58px; } + +textarea.input-lg, .input-group-lg > textarea.form-control, +.input-group-lg > textarea.input-group-addon, +.input-group-lg > .input-group-btn > textarea.btn, +select[multiple].input-lg, +.input-group-lg > select.form-control[multiple], +.input-group-lg > select.input-group-addon[multiple], +.input-group-lg > .input-group-btn > select.btn[multiple] { + height: auto; } + +.form-group-lg .form-control { + height: 58px; + padding: 16px 24px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; } + +.form-group-lg select.form-control { + height: 58px; + line-height: 58px; } + +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; } + +.form-group-lg .form-control-static { + height: 58px; + min-height: 38px; + padding: 17px 24px; + font-size: 18px; + line-height: 1.33333; } + +.has-feedback { + position: relative; } + .has-feedback .form-control { + padding-right: 43.75px; } + +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 35px; + height: 35px; + line-height: 35px; + text-align: center; + pointer-events: none; } + +.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 58px; + height: 58px; + line-height: 58px; } + +.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; } + +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; } + +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } + +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; } + +.has-success .form-control-feedback { + color: #3c763d; } + +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; } + +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } + +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; } + +.has-warning .form-control-feedback { + color: #8a6d3b; } + +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; } + +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } + +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; } + +.has-error .form-control-feedback { + color: #a94442; } + +.has-feedback label ~ .form-control-feedback { + top: 25px; } + +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; } + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; } + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .form-control-static { + display: inline-block; } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; } + .form-inline .input-group > .form-control { + width: 100%; } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .form-inline .has-feedback .form-control-feedback { + top: 0; } } + +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 8px; } + +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 28px; } + +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; } + .form-horizontal .form-group:before, .form-horizontal .form-group:after { + content: " "; + display: table; } + .form-horizontal .form-group:after { + clear: both; } + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 8px; } } + +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; } + +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 17px; + font-size: 18px; } } + +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; } } + +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 7px 14px; + font-size: 14px; + line-height: 1.42857; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + .btn:hover, .btn:focus, .btn.focus { + color: #ababab; + text-decoration: none; } + .btn:active, .btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn.disabled, .btn[disabled], + fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; } + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; } + +.btn-default { + color: #ababab; + background-color: #fff; + border-color: #ccc; } + .btn-default:focus, .btn-default.focus { + color: #ababab; + background-color: #e6e6e6; + border-color: #8c8c8c; } + .btn-default:hover { + color: #ababab; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-default:active, .btn-default.active, + .open > .btn-default.dropdown-toggle { + color: #ababab; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus, + .open > .btn-default.dropdown-toggle:hover, + .open > .btn-default.dropdown-toggle:focus, + .open > .btn-default.dropdown-toggle.focus { + color: #ababab; + background-color: #d4d4d4; + border-color: #8c8c8c; } + .btn-default:active, .btn-default.active, + .open > .btn-default.dropdown-toggle { + background-image: none; } + .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, + fieldset[disabled] .btn-default:hover, + fieldset[disabled] .btn-default:focus, + fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; } + .btn-default .badge { + color: #fff; + background-color: #ababab; } + +.btn-primary { + color: #fff; + background-color: #16a2c5; + border-color: #138fae; } + .btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #117c97; + border-color: #07313b; } + .btn-primary:hover { + color: #fff; + background-color: #117c97; + border-color: #0d6277; } + .btn-primary:active, .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #117c97; + border-color: #0d6277; } + .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, + .open > .btn-primary.dropdown-toggle:hover, + .open > .btn-primary.dropdown-toggle:focus, + .open > .btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #0d6277; + border-color: #07313b; } + .btn-primary:active, .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + background-image: none; } + .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, + fieldset[disabled] .btn-primary:hover, + fieldset[disabled] .btn-primary:focus, + fieldset[disabled] .btn-primary.focus { + background-color: #16a2c5; + border-color: #138fae; } + .btn-primary .badge { + color: #16a2c5; + background-color: #fff; } + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; } + .btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; } + .btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active, .btn-success.active, + .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, + .open > .btn-success.dropdown-toggle:hover, + .open > .btn-success.dropdown-toggle:focus, + .open > .btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #255625; } + .btn-success:active, .btn-success.active, + .open > .btn-success.dropdown-toggle { + background-image: none; } + .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, + fieldset[disabled] .btn-success:hover, + fieldset[disabled] .btn-success:focus, + fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; } + .btn-success .badge { + color: #5cb85c; + background-color: #fff; } + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; } + .btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active, .btn-info.active, + .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, + .open > .btn-info.dropdown-toggle:hover, + .open > .btn-info.dropdown-toggle:focus, + .open > .btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; } + .btn-info:active, .btn-info.active, + .open > .btn-info.dropdown-toggle { + background-image: none; } + .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, + fieldset[disabled] .btn-info:hover, + fieldset[disabled] .btn-info:focus, + fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info .badge { + color: #5bc0de; + background-color: #fff; } + +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; } + .btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; } + .btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active, .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, + .open > .btn-warning.dropdown-toggle:hover, + .open > .btn-warning.dropdown-toggle:focus, + .open > .btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; } + .btn-warning:active, .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + background-image: none; } + .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, + fieldset[disabled] .btn-warning:hover, + fieldset[disabled] .btn-warning:focus, + fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; } + .btn-warning .badge { + color: #f0ad4e; + background-color: #fff; } + +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; } + .btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; } + .btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active, .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, + .open > .btn-danger.dropdown-toggle:hover, + .open > .btn-danger.dropdown-toggle:focus, + .open > .btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; } + .btn-danger:active, .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + background-image: none; } + .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, + fieldset[disabled] .btn-danger:hover, + fieldset[disabled] .btn-danger:focus, + fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; } + .btn-danger .badge { + color: #d9534f; + background-color: #fff; } + +.btn-link { + color: #16a2c5; + font-weight: normal; + border-radius: 0; } + .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], + fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { + border-color: transparent; } + .btn-link:hover, .btn-link:focus { + color: #0e6980; + text-decoration: underline; + background-color: transparent; } + .btn-link[disabled]:hover, .btn-link[disabled]:focus, + fieldset[disabled] .btn-link:hover, + fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; } + +.btn-lg, .btn-group-lg > .btn { + padding: 16px 24px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; } + +.btn-sm, .btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +.btn-xs, .btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +.btn-block { + display: block; + width: 100%; } + +.btn-block + .btn-block { + margin-top: 5px; } + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } + .fade.in { + opacity: 1; } + +.collapse { + display: none; } + .collapse.in { + display: block; } + +tr.collapse.in { + display: table-row; } + +tbody.collapse.in { + display: table-row-group; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; } + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } + +.dropup, +.dropdown { + position: relative; } + +.dropdown-toggle:focus { + outline: 0; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; } + .dropdown-menu.pull-right { + right: 0; + left: auto; } + .dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } + .dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857; + color: #333333; + white-space: nowrap; } + +.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; } + +.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #16a2c5; } + +.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + color: #777777; } + +.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; } + +.open > .dropdown-menu { + display: block; } + +.open > a { + outline: 0; } + +.dropdown-menu-right { + left: auto; + right: 0; } + +.dropdown-menu-left { + left: 0; + right: auto; } + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857; + color: #777777; + white-space: nowrap; } + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; } + +.pull-right > .dropdown-menu { + right: 0; + left: auto; } + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; } + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; } + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; } } + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + float: left; } + .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, + .btn-group-vertical > .btn:hover, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 2; } + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; } + +.btn-toolbar { + margin-left: -5px; } + .btn-toolbar:before, .btn-toolbar:after { + content: " "; + display: table; } + .btn-toolbar:after { + clear: both; } + .btn-toolbar .btn, + .btn-toolbar .btn-group, + .btn-toolbar .input-group { + float: left; } + .btn-toolbar > .btn, + .btn-toolbar > .btn-group, + .btn-toolbar > .input-group { + margin-left: 5px; } + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; } + +.btn-group > .btn:first-child { + margin-left: 0; } + .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group > .btn-group { + float: left; } + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; } + +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; } + +.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; } + +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; } + +.btn .caret { + margin-left: 0; } + +.btn-lg .caret, .btn-group-lg > .btn .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; } + +.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { + border-width: 0 5px 5px; } + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; } + +.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { + content: " "; + display: table; } + +.btn-group-vertical > .btn-group:after { + clear: both; } + +.btn-group-vertical > .btn-group > .btn { + float: none; } + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; } + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; } + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; } + .btn-group-justified > .btn, + .btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; } + .btn-group-justified > .btn-group .btn { + width: 100%; } + .btn-group-justified > .btn-group .dropdown-menu { + left: auto; } + +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + +.input-group { + position: relative; + display: table; + border-collapse: separate; } + .input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; } + .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } + .input-group .form-control:focus { + z-index: 3; } + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; } + .input-group-addon:not(:first-child):not(:last-child), + .input-group-btn:not(:first-child):not(:last-child), + .input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; } + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; } + +.input-group-addon { + padding: 7px 14px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 0; } + .input-group-addon.input-sm, + .input-group-sm > .input-group-addon, + .input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; } + .input-group-addon.input-lg, + .input-group-lg > .input-group-addon, + .input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 16px 24px; + font-size: 18px; + border-radius: 6px; } + .input-group-addon input[type="radio"], + .input-group-addon input[type="checkbox"] { + margin-top: 0; } + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.input-group-addon:first-child { + border-right: 0; } + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.input-group-addon:last-child { + border-left: 0; } + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; } + .input-group-btn > .btn { + position: relative; } + .input-group-btn > .btn + .btn { + margin-left: -1px; } + .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { + z-index: 2; } + .input-group-btn:first-child > .btn, + .input-group-btn:first-child > .btn-group { + margin-right: -1px; } + .input-group-btn:last-child > .btn, + .input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; } + +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; } + .nav:before, .nav:after { + content: " "; + display: table; } + .nav:after { + clear: both; } + .nav > li { + position: relative; + display: block; } + .nav > li > a { + position: relative; + display: block; + padding: 10px 20px; } + .nav > li > a:hover, .nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .nav > li.disabled > a { + color: #777777; } + .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; } + .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { + background-color: #eeeeee; + border-color: #16a2c5; } + .nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } + .nav > li > a > img { + max-width: none; } + +.nav-tabs { + border-bottom: 1px solid transparent; } + .nav-tabs > li { + float: left; + margin-bottom: -1px; } + .nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; } + .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee transparent; } + .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + color: white; + background-color: #16a2c5; + border: 1px solid transparent; + border-bottom-color: transparent; + cursor: default; } + +.nav-pills > li { + float: left; } + .nav-pills > li > a { + border-radius: 4px; } + .nav-pills > li + li { + margin-left: 2px; } + .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { + color: #fff; + background-color: #16a2c5; } + +.nav-stacked > li { + float: none; } + .nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; } + +.nav-justified, .nav-tabs.nav-justified { + width: 100%; } + .nav-justified > li, .nav-tabs.nav-justified > li { + float: none; } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; } + .nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; } + @media (min-width: 768px) { + .nav-justified > li, .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-bottom: 0; } } + +.nav-tabs-justified, .nav-tabs.nav-justified { + border-bottom: 0; } + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; } + .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus, + .nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; } + @media (min-width: 768px) { + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; } + .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; } } + +.tab-content > .tab-pane { + display: none; } + +.tab-content > .active { + display: block; } + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; } + .navbar:before, .navbar:after { + content: " "; + display: table; } + .navbar:after { + clear: both; } + @media (min-width: 768px) { + .navbar { + border-radius: 4px; } } + +.navbar-header:before, .navbar-header:after { + content: " "; + display: table; } + +.navbar-header:after { + clear: both; } + +@media (min-width: 768px) { + .navbar-header { + float: left; } } + +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; } + .navbar-collapse:before, .navbar-collapse:after { + content: " "; + display: table; } + .navbar-collapse:after { + clear: both; } + .navbar-collapse.in { + overflow-y: auto; } + @media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; } + .navbar-collapse.in { + overflow-y: visible; } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; } } + +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; } + @media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; } } + +.container > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-header, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; } + @media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-header, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; } } + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; } + @media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; } } + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; } + @media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; } } + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; } + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; } + +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; + height: 50px; } + .navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; } + .navbar-brand > img { + display: block; } + @media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; } } + +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 8px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; } + .navbar-toggle:focus { + outline: 0; } + .navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; } + .navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; } + @media (min-width: 768px) { + .navbar-toggle { + display: none; } } + +.navbar-nav { + margin: 7.5px -15px; } + .navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; } + @media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; } + .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; } } + @media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; } + .navbar-nav > li { + float: left; } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; } } + +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 7.5px; + margin-bottom: 7.5px; } + @media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .navbar-form .form-control-static { + display: inline-block; } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; } + .navbar-form .input-group > .form-control { + width: 100%; } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .navbar-form .has-feedback .form-control-feedback { + top: 0; } } + @media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; } + .navbar-form .form-group:last-child { + margin-bottom: 0; } } + @media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; } } + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.navbar-btn { + margin-top: 7.5px; + margin-bottom: 7.5px; } + .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { + margin-top: 10px; + margin-bottom: 10px; } + .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { + margin-top: 14px; + margin-bottom: 14px; } + +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; } + @media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; } } + +@media (min-width: 768px) { + .navbar-left { + float: left !important; } + .navbar-right { + float: right !important; + margin-right: -15px; } + .navbar-right ~ .navbar-right { + margin-right: 0; } } + +.navbar-default { + background-color: #ededed; + border-color: transparent; } + .navbar-default .navbar-brand { + color: #000000; } + .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { + color: black; + background-color: transparent; } + .navbar-default .navbar-text { + color: #000000; } + .navbar-default .navbar-nav > li > a { + color: #000000; } + .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: #eeeeee; } + .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { + color: #16a2c5; + background-color: transparent; } + .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; } + .navbar-default .navbar-toggle { + border-color: #ddd; } + .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { + background-color: #ddd; } + .navbar-default .navbar-toggle .icon-bar { + background-color: #888; } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + border-color: transparent; } + .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { + background-color: transparent; + color: #16a2c5; } + @media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #000000; } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: #eeeeee; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #16a2c5; + background-color: transparent; } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; } } + .navbar-default .navbar-link { + color: #000000; } + .navbar-default .navbar-link:hover { + color: #333; } + .navbar-default .btn-link { + color: #000000; } + .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { + color: #333; } + .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, + fieldset[disabled] .navbar-default .btn-link:hover, + fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; } + +.navbar-inverse { + background-color: #222; + border-color: #090909; } + .navbar-inverse .navbar-brand { + color: #9d9d9d; } + .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-text { + color: #9d9d9d; } + .navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; } + .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #090909; } + .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; } + .navbar-inverse .navbar-toggle { + border-color: #333; } + .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: #333; } + .navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; } + .navbar-inverse .navbar-collapse, + .navbar-inverse .navbar-form { + border-color: #101010; } + .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { + background-color: #090909; + color: #fff; } + @media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; } } + .navbar-inverse .navbar-link { + color: #9d9d9d; } + .navbar-inverse .navbar-link:hover { + color: #fff; } + .navbar-inverse .btn-link { + color: #9d9d9d; } + .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { + color: #fff; } + .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, + fieldset[disabled] .navbar-inverse .btn-link:hover, + fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; } + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; } + .breadcrumb > li { + display: inline-block; } + .breadcrumb > li + li:before { + content: "/ "; + padding: 0 5px; + color: #ccc; } + .breadcrumb > .active { + color: #777777; } + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; } + .pagination > li { + display: inline; } + .pagination > li > a, + .pagination > li > span { + position: relative; + float: left; + padding: 7px 14px; + line-height: 1.42857; + text-decoration: none; + color: #16a2c5; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; } + .pagination > li:first-child > a, + .pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; } + .pagination > li:last-child > a, + .pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; } + .pagination > li > a:hover, .pagination > li > a:focus, + .pagination > li > span:hover, + .pagination > li > span:focus { + z-index: 2; + color: #0e6980; + background-color: #eeeeee; + border-color: #ddd; } + .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, + .pagination > .active > span, + .pagination > .active > span:hover, + .pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #16a2c5; + border-color: #16a2c5; + cursor: default; } + .pagination > .disabled > span, + .pagination > .disabled > span:hover, + .pagination > .disabled > span:focus, + .pagination > .disabled > a, + .pagination > .disabled > a:hover, + .pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; } + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 16px 24px; + font-size: 18px; + line-height: 1.33333; } + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; } + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; } + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; } + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } + +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; } + .pager:before, .pager:after { + content: " "; + display: table; } + .pager:after { + clear: both; } + .pager li { + display: inline; } + .pager li > a, + .pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; } + .pager li > a:hover, + .pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .pager .next > a, + .pager .next > span { + float: right; } + .pager .previous > a, + .pager .previous > span { + float: left; } + .pager .disabled > a, + .pager .disabled > a:hover, + .pager .disabled > a:focus, + .pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; } + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; } + .label:empty { + display: none; } + .btn .label { + position: relative; + top: -1px; } + +a.label:hover, a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; } + +.label-default { + background-color: #777777; } + .label-default[href]:hover, .label-default[href]:focus { + background-color: #5e5e5e; } + +.label-primary { + background-color: #16a2c5; } + .label-primary[href]:hover, .label-primary[href]:focus { + background-color: #117c97; } + +.label-success { + background-color: #5cb85c; } + .label-success[href]:hover, .label-success[href]:focus { + background-color: #449d44; } + +.label-info { + background-color: #5bc0de; } + .label-info[href]:hover, .label-info[href]:focus { + background-color: #31b0d5; } + +.label-warning { + background-color: #f0ad4e; } + .label-warning[href]:hover, .label-warning[href]:focus { + background-color: #ec971f; } + +.label-danger { + background-color: #d9534f; } + .label-danger[href]:hover, .label-danger[href]:focus { + background-color: #c9302c; } + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; } + .badge:empty { + display: none; } + .btn .badge { + position: relative; + top: -1px; } + .btn-xs .badge, .btn-group-xs > .btn .badge, + .btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; } + .list-group-item.active > .badge, + .nav-pills > .active > a > .badge { + color: #16a2c5; + background-color: #fff; } + .list-group-item > .badge { + float: right; } + .list-group-item > .badge + .badge { + margin-right: 5px; } + .nav-pills > li > a > .badge { + margin-left: 3px; } + +a.badge:hover, a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; } + +.jumbotron { + padding-top: 50px; + padding-bottom: 50px; + margin-bottom: 50px; + color: inherit; + background-color: transparent; } + .jumbotron h1, + .jumbotron .h1 { + color: inherit; } + .jumbotron p { + margin-bottom: 25px; + font-size: 18px; + font-weight: 200; } + .jumbotron > hr { + border-top-color: rgba(0, 0, 0, 0); } + .container .jumbotron, + .container-fluid .jumbotron { + border-radius: 6px; + padding-left: 15px; + padding-right: 15px; } + .jumbotron .container { + max-width: 100%; } + @media screen and (min-width: 768px) { + .jumbotron { + padding-top: 80px; + padding-bottom: 80px; } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 100px; + padding-right: 100px; } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; } } + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; } + .thumbnail > img, + .thumbnail a > img { + display: block; + max-width: 100%; + height: auto; + margin-left: auto; + margin-right: auto; } + .thumbnail .caption { + padding: 9px; + color: #333333; } + +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #16a2c5; } + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; } + .alert h4 { + margin-top: 0; + color: inherit; } + .alert .alert-link { + font-weight: bold; } + .alert > p, + .alert > ul { + margin-bottom: 0; } + .alert > p + p { + margin-top: 5px; } + +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; } + .alert-dismissable .close, + .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; } + +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; } + .alert-success hr { + border-top-color: #c9e2b3; } + .alert-success .alert-link { + color: #2b542c; } + +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; } + .alert-info hr { + border-top-color: #a6e1ec; } + .alert-info .alert-link { + color: #245269; } + +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; } + .alert-warning hr { + border-top-color: #f7e1b5; } + .alert-warning .alert-link { + color: #66512c; } + +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; } + .alert-danger hr { + border-top-color: #e4b9c0; } + .alert-danger .alert-link { + color: #843534; } + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; } + to { + background-position: 0 0; } } + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; } + to { + background-position: 0 0; } } + +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } + +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #16a2c5; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; } + +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; } + +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; } + +.progress-bar-success { + background-color: #5cb85c; } + .progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.progress-bar-info { + background-color: #5bc0de; } + .progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.progress-bar-warning { + background-color: #f0ad4e; } + .progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.progress-bar-danger { + background-color: #d9534f; } + .progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.media { + margin-top: 15px; } + .media:first-child { + margin-top: 0; } + +.media, +.media-body { + zoom: 1; + overflow: hidden; } + +.media-body { + width: 10000px; } + +.media-object { + display: block; } + .media-object.img-thumbnail { + max-width: none; } + +.media-right, +.media > .pull-right { + padding-left: 10px; } + +.media-left, +.media > .pull-left { + padding-right: 10px; } + +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; } + +.media-middle { + vertical-align: middle; } + +.media-bottom { + vertical-align: bottom; } + +.media-heading { + margin-top: 0; + margin-bottom: 5px; } + +.media-list { + padding-left: 0; + list-style: none; } + +.list-group { + margin-bottom: 20px; + padding-left: 0; } + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; } + .list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } + +a.list-group-item, +button.list-group-item { + color: #555; } + a.list-group-item .list-group-item-heading, + button.list-group-item .list-group-item-heading { + color: #333; } + a.list-group-item:hover, a.list-group-item:focus, + button.list-group-item:hover, + button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; } + +button.list-group-item { + width: 100%; + text-align: left; } + +.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; } + .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { + color: #777777; } + +.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #16a2c5; + border-color: #16a2c5; } + .list-group-item.active .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { + color: #b1e8f6; } + +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; } + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; } + a.list-group-item-success .list-group-item-heading, + button.list-group-item-success .list-group-item-heading { + color: inherit; } + a.list-group-item-success:hover, a.list-group-item-success:focus, + button.list-group-item-success:hover, + button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; } + a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus, + button.list-group-item-success.active, + button.list-group-item-success.active:hover, + button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; } + +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; } + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; } + a.list-group-item-info .list-group-item-heading, + button.list-group-item-info .list-group-item-heading { + color: inherit; } + a.list-group-item-info:hover, a.list-group-item-info:focus, + button.list-group-item-info:hover, + button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; } + a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus, + button.list-group-item-info.active, + button.list-group-item-info.active:hover, + button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; } + +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; } + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; } + a.list-group-item-warning .list-group-item-heading, + button.list-group-item-warning .list-group-item-heading { + color: inherit; } + a.list-group-item-warning:hover, a.list-group-item-warning:focus, + button.list-group-item-warning:hover, + button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; } + a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, + button.list-group-item-warning.active, + button.list-group-item-warning.active:hover, + button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; } + +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; } + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; } + a.list-group-item-danger .list-group-item-heading, + button.list-group-item-danger .list-group-item-heading { + color: inherit; } + a.list-group-item-danger:hover, a.list-group-item-danger:focus, + button.list-group-item-danger:hover, + button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; } + a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, + button.list-group-item-danger.active, + button.list-group-item-danger.active:hover, + button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; } + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; } + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; } + +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } + +.panel-body { + padding: 15px; } + .panel-body:before, .panel-body:after { + content: " "; + display: table; } + .panel-body:after { + clear: both; } + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: -1; + border-top-left-radius: -1; } + .panel-heading > .dropdown .dropdown-toggle { + color: inherit; } + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; } + .panel-title > a, + .panel-title > small, + .panel-title > .small, + .panel-title > small > a, + .panel-title > .small > a { + color: inherit; } + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; } + +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; } + .panel > .list-group .list-group-item, + .panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; } + .panel > .list-group:first-child .list-group-item:first-child, + .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: -1; + border-top-left-radius: -1; } + .panel > .list-group:last-child .list-group-item:last-child, + .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; } + +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; } + +.list-group + .panel-footer { + border-top-width: 0; } + +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; } + .panel > .table caption, + .panel > .table-responsive > .table caption, + .panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; } + +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: -1; + border-top-left-radius: -1; } + .panel > .table:first-child > thead:first-child > tr:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: -1; + border-top-right-radius: -1; } + .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, + .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: -1; } + .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, + .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, + .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, + .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: -1; } + +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; } + .panel > .table:last-child > tbody:last-child > tr:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: -1; + border-bottom-right-radius: -1; } + .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, + .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: -1; } + .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, + .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: -1; } + +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; } + +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; } + +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; } + .panel > .table-bordered > thead > tr > th:first-child, + .panel > .table-bordered > thead > tr > td:first-child, + .panel > .table-bordered > tbody > tr > th:first-child, + .panel > .table-bordered > tbody > tr > td:first-child, + .panel > .table-bordered > tfoot > tr > th:first-child, + .panel > .table-bordered > tfoot > tr > td:first-child, + .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, + .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, + .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, + .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .panel > .table-bordered > thead > tr > th:last-child, + .panel > .table-bordered > thead > tr > td:last-child, + .panel > .table-bordered > tbody > tr > th:last-child, + .panel > .table-bordered > tbody > tr > td:last-child, + .panel > .table-bordered > tfoot > tr > th:last-child, + .panel > .table-bordered > tfoot > tr > td:last-child, + .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, + .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, + .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, + .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .panel > .table-bordered > thead > tr:first-child > td, + .panel > .table-bordered > thead > tr:first-child > th, + .panel > .table-bordered > tbody > tr:first-child > td, + .panel > .table-bordered > tbody > tr:first-child > th, + .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, + .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, + .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, + .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; } + .panel > .table-bordered > tbody > tr:last-child > td, + .panel > .table-bordered > tbody > tr:last-child > th, + .panel > .table-bordered > tfoot > tr:last-child > td, + .panel > .table-bordered > tfoot > tr:last-child > th, + .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, + .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; } + +.panel > .table-responsive { + border: 0; + margin-bottom: 0; } + +.panel-group { + margin-bottom: 20px; } + .panel-group .panel { + margin-bottom: 0; + border-radius: 0; } + .panel-group .panel + .panel { + margin-top: 5px; } + .panel-group .panel-heading { + border-bottom: 0; } + .panel-group .panel-heading + .panel-collapse > .panel-body, + .panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; } + .panel-group .panel-footer { + border-top: 0; } + .panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; } + +.panel-default { + border-color: #ddd; } + .panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; } + .panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; } + .panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; } + .panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; } + +.panel-primary { + border-color: #16a2c5; } + .panel-primary > .panel-heading { + color: #fff; + background-color: #16a2c5; + border-color: #16a2c5; } + .panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #16a2c5; } + .panel-primary > .panel-heading .badge { + color: #16a2c5; + background-color: #fff; } + .panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #16a2c5; } + +.panel-success { + border-color: #d6e9c6; } + .panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; } + .panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; } + .panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; } + .panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; } + +.panel-info { + border-color: #bce8f1; } + .panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; } + .panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; } + .panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; } + .panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; } + +.panel-warning { + border-color: #faebcc; } + .panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; } + .panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; } + .panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; } + .panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; } + +.panel-danger { + border-color: #ebccd1; } + .panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; } + .panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; } + .panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; } + .panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; } + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; } + +.embed-responsive-16by9 { + padding-bottom: 56.25%; } + +.embed-responsive-4by3 { + padding-bottom: 75%; } + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } + .well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); } + +.well-lg { + padding: 24px; + border-radius: 6px; } + +.well-sm { + padding: 9px; + border-radius: 3px; } + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); } + .close:hover, .close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); } + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } + +.modal-open { + overflow: hidden; } + +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; } + .modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; } + .modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); } + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + +.modal-dialog { + position: relative; + width: auto; + margin: 10px; } + +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); } + .modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); } + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; } + .modal-header:before, .modal-header:after { + content: " "; + display: table; } + .modal-header:after { + clear: both; } + +.modal-header .close { + margin-top: -2px; } + +.modal-title { + margin: 0; + line-height: 1.42857; } + +.modal-body { + position: relative; + padding: 15px; } + +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; } + .modal-footer:before, .modal-footer:after { + content: " "; + display: table; } + .modal-footer:after { + clear: both; } + .modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; } + .modal-footer .btn-group .btn + .btn { + margin-left: -1px; } + .modal-footer .btn-block + .btn-block { + margin-left: 0; } + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } + .modal-sm { + width: 300px; } } + +@media (min-width: 992px) { + .modal-lg { + width: 900px; } } + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); } + .tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); } + .tooltip.top { + margin-top: -3px; + padding: 5px 0; } + .tooltip.right { + margin-left: 3px; + padding: 0 5px; } + .tooltip.bottom { + margin-top: 3px; + padding: 5px 0; } + .tooltip.left { + margin-left: -3px; + padding: 0 5px; } + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; } + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } + +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; } + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; } + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 14px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } + .popover.top { + margin-top: -10px; } + .popover.right { + margin-left: 10px; } + .popover.bottom { + margin-top: 10px; } + .popover.left { + margin-left: -10px; } + +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; } + +.popover-content { + padding: 9px 14px; } + +.popover > .arrow, .popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.popover > .arrow { + border-width: 11px; } + +.popover > .arrow:after { + border-width: 10px; + content: ""; } + +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; } + .popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; } + +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); } + .popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; } + +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; } + .popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; } + +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); } + .popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; } + +.carousel { + position: relative; } + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; } + .carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; } + .carousel-inner > .item > img, + .carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; + line-height: 1; } + @media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; } + .carousel-inner > .item.next, .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; } + .carousel-inner > .item.prev, .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; } + .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; } } + .carousel-inner > .active, + .carousel-inner > .next, + .carousel-inner > .prev { + display: block; } + .carousel-inner > .active { + left: 0; } + .carousel-inner > .next, + .carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; } + .carousel-inner > .next { + left: 100%; } + .carousel-inner > .prev { + left: -100%; } + .carousel-inner > .next.left, + .carousel-inner > .prev.right { + left: 0; } + .carousel-inner > .active.left { + left: -100%; } + .carousel-inner > .active.right { + left: 100%; } + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); } + .carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } + .carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } + .carousel-control:hover, .carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); } + .carousel-control .icon-prev, + .carousel-control .icon-next, + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; } + .carousel-control .icon-prev, + .carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; } + .carousel-control .icon-next, + .carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; } + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; } + .carousel-control .icon-prev:before { + content: '\2039'; } + .carousel-control .icon-next:before { + content: '\203a'; } + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; } + .carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); } + .carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; } + +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-caption .btn { + text-shadow: none; } + +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; } + .carousel-indicators { + bottom: 20px; } } + +.clearfix:before, .clearfix:after { + content: " "; + display: table; } + +.clearfix:after { + clear: both; } + +.center-block { + display: block; + margin-left: auto; + margin-right: auto; } + +.pull-right { + float: right !important; } + +.pull-left { + float: left !important; } + +.hide { + display: none !important; } + +.show { + display: block !important; } + +.invisible { + visibility: hidden; } + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.hidden { + display: none !important; } + +.affix { + position: fixed; } + +@-ms-viewport { + width: device-width; } + +.visible-xs { + display: none !important; } + +.visible-sm { + display: none !important; } + +.visible-md { + display: none !important; } + +.visible-lg { + display: none !important; } + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; } + +@media (max-width: 767px) { + .visible-xs { + display: block !important; } + table.visible-xs { + display: table !important; } + tr.visible-xs { + display: table-row !important; } + th.visible-xs, + td.visible-xs { + display: table-cell !important; } } + +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; } } + +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; } } + +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; } + table.visible-sm { + display: table !important; } + tr.visible-sm { + display: table-row !important; } + th.visible-sm, + td.visible-sm { + display: table-cell !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; } + table.visible-md { + display: table !important; } + tr.visible-md { + display: table-row !important; } + th.visible-md, + td.visible-md { + display: table-cell !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; } } + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; } + table.visible-lg { + display: table !important; } + tr.visible-lg { + display: table-row !important; } + th.visible-lg, + td.visible-lg { + display: table-cell !important; } } + +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; } } + +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; } } + +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; } } + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; } } + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; } } + +.visible-print { + display: none !important; } + +@media print { + .visible-print { + display: block !important; } + table.visible-print { + display: table !important; } + tr.visible-print { + display: table-row !important; } + th.visible-print, + td.visible-print { + display: table-cell !important; } } + +.visible-print-block { + display: none !important; } + @media print { + .visible-print-block { + display: block !important; } } + +.visible-print-inline { + display: none !important; } + @media print { + .visible-print-inline { + display: inline !important; } } + +.visible-print-inline-block { + display: none !important; } + @media print { + .visible-print-inline-block { + display: inline-block !important; } } + +@media print { + .hidden-print { + display: none !important; } } diff --git a/IG/3.0.4/static/styles/common/bootstrap/bootstrap.js b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.js new file mode 100644 index 00000000..f7bdc7af --- /dev/null +++ b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.js @@ -0,0 +1,2363 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3') + } +}(jQuery); + +/* ======================================================================== + * Bootstrap: transition.js v3.3.6 + * http://getbootstrap.com/javascript/#transitions + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + + return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.3.6 + * http://getbootstrap.com/javascript/#alerts + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.6' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.closest('.alert') + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.3.6 + * http://getbootstrap.com/javascript/#buttons + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false + } + + Button.VERSION = '3.3.6' + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state += 'Text' + + if (data.resetText == null) $el.data('resetText', $el[val]()) + + // push to event loop to allow forms to submit + setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) + } + + Button.prototype.toggle = function () { + var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked')) changed = false + $parent.find('.active').removeClass('active') + this.$element.addClass('active') + } else if ($input.prop('type') == 'checkbox') { + if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false + this.$element.toggleClass('active') + } + $input.prop('checked', this.$element.hasClass('active')) + if (changed) $input.trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + this.$element.toggleClass('active') + } + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + var old = $.fn.button + + $.fn.button = Plugin + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + Plugin.call($btn, 'toggle') + if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.3.6 + * http://getbootstrap.com/javascript/#carousel + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = null + this.sliding = null + this.interval = null + this.$active = null + this.$items = null + + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) + } + + Carousel.VERSION = '3.3.6' + + Carousel.TRANSITION_DURATION = 600 + + Carousel.DEFAULTS = { + interval: 5000, + pause: 'hover', + wrap: true, + keyboard: true + } + + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } + + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || this.getItemForDirection(type, $active) + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var that = this + + if ($next.hasClass('active')) return (this.sliding = false) + + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return + + this.sliding = true + + isCycling && this.pause() + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') + } + + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" + if ($.support.transition && this.$element.hasClass('slide')) { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one('bsTransitionEnd', function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) + }) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) + } else { + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger(slidEvent) + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + var old = $.fn.carousel + + $.fn.carousel = Plugin + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + Plugin.call($target, options) + + if (slideIndex) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + Plugin.call($carousel, $carousel.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.3.6 + * http://getbootstrap.com/javascript/#collapse + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + + '[data-toggle="collapse"][data-target="#' + element.id + '"]') + this.transitioning = null + + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + + if (this.options.toggle) this.toggle() + } + + Collapse.VERSION = '3.3.6' + + Collapse.TRANSITION_DURATION = 350 + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + if (actives && actives.length) { + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('collapse in')[dimension]('') + this.transitioning = 0 + this.$element + .trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element[dimension](this.$element[dimension]())[0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .removeClass('collapsing') + .addClass('collapse') + .trigger('hidden.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.collapse + + $.fn.collapse = Plugin + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + + Plugin.call($target, option) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.3.6 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.3.6' + + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) + }) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $(document.createElement('div')) + .addClass('dropdown-backdrop') + .insertAfter($(this)) + .on('click', clearMenus) + } + + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this + .trigger('focus') + .attr('aria-expanded', 'true') + + $parent + .toggleClass('open') + .trigger($.Event('shown.bs.dropdown', relatedTarget)) + } + + return false + } + + Dropdown.prototype.keydown = function (e) { + if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return + + var $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + if (!isActive && e.which != 27 || isActive && e.which == 27) { + if (e.which == 27) $parent.find(toggle).trigger('focus') + return $this.trigger('click') + } + + var desc = ' li:not(.disabled):visible a' + var $items = $parent.find('.dropdown-menu' + desc) + + if (!$items.length) return + + var index = $items.index(e.target) + + if (e.which == 38 && index > 0) index-- // up + if (e.which == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items.eq(index).trigger('focus') + } + + + // DROPDOWN PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.dropdown') + + if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.dropdown + + $.fn.dropdown = Plugin + $.fn.dropdown.Constructor = Dropdown + + + // DROPDOWN NO CONFLICT + // ==================== + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + // APPLY TO STANDARD DROPDOWN ELEMENTS + // =================================== + + $(document) + .on('click.bs.dropdown.data-api', clearMenus) + .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: modal.js v3.3.6 + * http://getbootstrap.com/javascript/#modals + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // MODAL CLASS DEFINITION + // ====================== + + var Modal = function (element, options) { + this.options = options + this.$body = $(document.body) + this.$element = $(element) + this.$dialog = this.$element.find('.modal-dialog') + this.$backdrop = null + this.isShown = null + this.originalBodyPad = null + this.scrollbarWidth = 0 + this.ignoreBackdropClick = false + + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } + } + + Modal.VERSION = '3.3.6' + + Modal.TRANSITION_DURATION = 300 + Modal.BACKDROP_TRANSITION_DURATION = 150 + + Modal.DEFAULTS = { + backdrop: true, + keyboard: true, + show: true + } + + Modal.prototype.toggle = function (_relatedTarget) { + return this.isShown ? this.hide() : this.show(_relatedTarget) + } + + Modal.prototype.show = function (_relatedTarget) { + var that = this + var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.checkScrollbar() + this.setScrollbar() + this.$body.addClass('modal-open') + + this.escape() + this.resize() + + this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + + this.$dialog.on('mousedown.dismiss.bs.modal', function () { + that.$element.one('mouseup.dismiss.bs.modal', function (e) { + if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true + }) + }) + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(that.$body) // don't move modals dom position + } + + that.$element + .show() + .scrollTop(0) + + that.adjustDialog() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + that.enforceFocus() + + var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) + + transition ? + that.$dialog // wait for modal to slide in + .one('bsTransitionEnd', function () { + that.$element.trigger('focus').trigger(e) + }) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + that.$element.trigger('focus').trigger(e) + }) + } + + Modal.prototype.hide = function (e) { + if (e) e.preventDefault() + + e = $.Event('hide.bs.modal') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + this.resize() + + $(document).off('focusin.bs.modal') + + this.$element + .removeClass('in') + .off('click.dismiss.bs.modal') + .off('mouseup.dismiss.bs.modal') + + this.$dialog.off('mousedown.dismiss.bs.modal') + + $.support.transition && this.$element.hasClass('fade') ? + this.$element + .one('bsTransitionEnd', $.proxy(this.hideModal, this)) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + this.hideModal() + } + + Modal.prototype.enforceFocus = function () { + $(document) + .off('focusin.bs.modal') // guard against infinite focus loop + .on('focusin.bs.modal', $.proxy(function (e) { + if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { + this.$element.trigger('focus') + } + }, this)) + } + + Modal.prototype.escape = function () { + if (this.isShown && this.options.keyboard) { + this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { + e.which == 27 && this.hide() + }, this)) + } else if (!this.isShown) { + this.$element.off('keydown.dismiss.bs.modal') + } + } + + Modal.prototype.resize = function () { + if (this.isShown) { + $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) + } else { + $(window).off('resize.bs.modal') + } + } + + Modal.prototype.hideModal = function () { + var that = this + this.$element.hide() + this.backdrop(function () { + that.$body.removeClass('modal-open') + that.resetAdjustments() + that.resetScrollbar() + that.$element.trigger('hidden.bs.modal') + }) + } + + Modal.prototype.removeBackdrop = function () { + this.$backdrop && this.$backdrop.remove() + this.$backdrop = null + } + + Modal.prototype.backdrop = function (callback) { + var that = this + var animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $(document.createElement('div')) + .addClass('modal-backdrop ' + animate) + .appendTo(this.$body) + + this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { + if (this.ignoreBackdropClick) { + this.ignoreBackdropClick = false + return + } + if (e.target !== e.currentTarget) return + this.options.backdrop == 'static' + ? this.$element[0].focus() + : this.hide() + }, this)) + + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + + this.$backdrop.addClass('in') + + if (!callback) return + + doAnimate ? + this.$backdrop + .one('bsTransitionEnd', callback) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callback() + + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') + + var callbackRemove = function () { + that.removeBackdrop() + callback && callback() + } + $.support.transition && this.$element.hasClass('fade') ? + this.$backdrop + .one('bsTransitionEnd', callbackRemove) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callbackRemove() + + } else if (callback) { + callback() + } + } + + // these following methods are used to handle overflowing modals + + Modal.prototype.handleUpdate = function () { + this.adjustDialog() + } + + Modal.prototype.adjustDialog = function () { + var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight + + this.$element.css({ + paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', + paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' + }) + } + + Modal.prototype.resetAdjustments = function () { + this.$element.css({ + paddingLeft: '', + paddingRight: '' + }) + } + + Modal.prototype.checkScrollbar = function () { + var fullWindowWidth = window.innerWidth + if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 + var documentElementRect = document.documentElement.getBoundingClientRect() + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) + } + this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth + this.scrollbarWidth = this.measureScrollbar() + } + + Modal.prototype.setScrollbar = function () { + var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) + this.originalBodyPad = document.body.style.paddingRight || '' + if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) + } + + Modal.prototype.resetScrollbar = function () { + this.$body.css('padding-right', this.originalBodyPad) + } + + Modal.prototype.measureScrollbar = function () { // thx walsh + var scrollDiv = document.createElement('div') + scrollDiv.className = 'modal-scrollbar-measure' + this.$body.append(scrollDiv) + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth + this.$body[0].removeChild(scrollDiv) + return scrollbarWidth + } + + + // MODAL PLUGIN DEFINITION + // ======================= + + function Plugin(option, _relatedTarget) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.modal') + var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.modal', (data = new Modal(this, options))) + if (typeof option == 'string') data[option](_relatedTarget) + else if (options.show) data.show(_relatedTarget) + }) + } + + var old = $.fn.modal + + $.fn.modal = Plugin + $.fn.modal.Constructor = Modal + + + // MODAL NO CONFLICT + // ================= + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + + // MODAL DATA-API + // ============== + + $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + var href = $this.attr('href') + var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 + var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) + + if ($this.is('a')) e.preventDefault() + + $target.one('show.bs.modal', function (showEvent) { + if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown + $target.one('hidden.bs.modal', function () { + $this.is(':visible') && $this.trigger('focus') + }) + }) + Plugin.call($target, option, this) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tooltip.js v3.3.6 + * http://getbootstrap.com/javascript/#tooltip + * Inspired by the original jQuery.tipsy by Jason Frame + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TOOLTIP PUBLIC CLASS DEFINITION + // =============================== + + var Tooltip = function (element, options) { + this.type = null + this.options = null + this.enabled = null + this.timeout = null + this.hoverState = null + this.$element = null + this.inState = null + + this.init('tooltip', element, options) + } + + Tooltip.VERSION = '3.3.6' + + Tooltip.TRANSITION_DURATION = 150 + + Tooltip.DEFAULTS = { + animation: true, + placement: 'top', + selector: false, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + container: false, + viewport: { + selector: 'body', + padding: 0 + } + } + + Tooltip.prototype.init = function (type, element, options) { + this.enabled = true + this.type = type + this.$element = $(element) + this.options = this.getOptions(options) + this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) + this.inState = { click: false, hover: false, focus: false } + + if (this.$element[0] instanceof document.constructor && !this.options.selector) { + throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') + } + + var triggers = this.options.trigger.split(' ') + + for (var i = triggers.length; i--;) { + var trigger = triggers[i] + + if (trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (trigger != 'manual') { + var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' + var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' + + this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) + } + } + + this.options.selector ? + (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : + this.fixTitle() + } + + Tooltip.prototype.getDefaults = function () { + return Tooltip.DEFAULTS + } + + Tooltip.prototype.getOptions = function (options) { + options = $.extend({}, this.getDefaults(), this.$element.data(), options) + + if (options.delay && typeof options.delay == 'number') { + options.delay = { + show: options.delay, + hide: options.delay + } + } + + return options + } + + Tooltip.prototype.getDelegateOptions = function () { + var options = {} + var defaults = this.getDefaults() + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }) + + return options + } + + Tooltip.prototype.enter = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true + } + + if (self.tip().hasClass('in') || self.hoverState == 'in') { + self.hoverState = 'in' + return + } + + clearTimeout(self.timeout) + + self.hoverState = 'in' + + if (!self.options.delay || !self.options.delay.show) return self.show() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) + } + + Tooltip.prototype.isInStateTrue = function () { + for (var key in this.inState) { + if (this.inState[key]) return true + } + + return false + } + + Tooltip.prototype.leave = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false + } + + if (self.isInStateTrue()) return + + clearTimeout(self.timeout) + + self.hoverState = 'out' + + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) + } + + Tooltip.prototype.show = function () { + var e = $.Event('show.bs.' + this.type) + + if (this.hasContent() && this.enabled) { + this.$element.trigger(e) + + var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) + if (e.isDefaultPrevented() || !inDom) return + var that = this + + var $tip = this.tip() + + var tipId = this.getUID(this.type) + + this.setContent() + $tip.attr('id', tipId) + this.$element.attr('aria-describedby', tipId) + + if (this.options.animation) $tip.addClass('fade') + + var placement = typeof this.options.placement == 'function' ? + this.options.placement.call(this, $tip[0], this.$element[0]) : + this.options.placement + + var autoToken = /\s?auto?\s?/i + var autoPlace = autoToken.test(placement) + if (autoPlace) placement = placement.replace(autoToken, '') || 'top' + + $tip + .detach() + .css({ top: 0, left: 0, display: 'block' }) + .addClass(placement) + .data('bs.' + this.type, this) + + this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) + this.$element.trigger('inserted.bs.' + this.type) + + var pos = this.getPosition() + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (autoPlace) { + var orgPlacement = placement + var viewportDim = this.getPosition(this.$viewport) + + placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : + placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : + placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : + placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : + placement + + $tip + .removeClass(orgPlacement) + .addClass(placement) + } + + var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) + + this.applyPlacement(calculatedOffset, placement) + + var complete = function () { + var prevHoverState = that.hoverState + that.$element.trigger('shown.bs.' + that.type) + that.hoverState = null + + if (prevHoverState == 'out') that.leave(that) + } + + $.support.transition && this.$tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + } + } + + Tooltip.prototype.applyPlacement = function (offset, placement) { + var $tip = this.tip() + var width = $tip[0].offsetWidth + var height = $tip[0].offsetHeight + + // manually read margins because getBoundingClientRect includes difference + var marginTop = parseInt($tip.css('margin-top'), 10) + var marginLeft = parseInt($tip.css('margin-left'), 10) + + // we must check for NaN for ie 8/9 + if (isNaN(marginTop)) marginTop = 0 + if (isNaN(marginLeft)) marginLeft = 0 + + offset.top += marginTop + offset.left += marginLeft + + // $.fn.offset doesn't round pixel values + // so we use setOffset directly with our own function B-0 + $.offset.setOffset($tip[0], $.extend({ + using: function (props) { + $tip.css({ + top: Math.round(props.top), + left: Math.round(props.left) + }) + } + }, offset), 0) + + $tip.addClass('in') + + // check to see if placing tip in new offset caused the tip to resize itself + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (placement == 'top' && actualHeight != height) { + offset.top = offset.top + height - actualHeight + } + + var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) + + if (delta.left) offset.left += delta.left + else offset.top += delta.top + + var isVertical = /top|bottom/.test(placement) + var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight + var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' + + $tip.offset(offset) + this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) + } + + Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { + this.arrow() + .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') + .css(isVertical ? 'top' : 'left', '') + } + + Tooltip.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) + $tip.removeClass('fade in top bottom left right') + } + + Tooltip.prototype.hide = function (callback) { + var that = this + var $tip = $(this.$tip) + var e = $.Event('hide.bs.' + this.type) + + function complete() { + if (that.hoverState != 'in') $tip.detach() + that.$element + .removeAttr('aria-describedby') + .trigger('hidden.bs.' + that.type) + callback && callback() + } + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + $tip.removeClass('in') + + $.support.transition && $tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + + this.hoverState = null + + return this + } + + Tooltip.prototype.fixTitle = function () { + var $e = this.$element + if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { + $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') + } + } + + Tooltip.prototype.hasContent = function () { + return this.getTitle() + } + + Tooltip.prototype.getPosition = function ($element) { + $element = $element || this.$element + + var el = $element[0] + var isBody = el.tagName == 'BODY' + + var elRect = el.getBoundingClientRect() + if (elRect.width == null) { + // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 + elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) + } + var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() + var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } + var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null + + return $.extend({}, elRect, scroll, outerDims, elOffset) + } + + Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { + return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : + /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } + + } + + Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { + var delta = { top: 0, left: 0 } + if (!this.$viewport) return delta + + var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 + var viewportDimensions = this.getPosition(this.$viewport) + + if (/right|left/.test(placement)) { + var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll + var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight + if (topEdgeOffset < viewportDimensions.top) { // top overflow + delta.top = viewportDimensions.top - topEdgeOffset + } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow + delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset + } + } else { + var leftEdgeOffset = pos.left - viewportPadding + var rightEdgeOffset = pos.left + viewportPadding + actualWidth + if (leftEdgeOffset < viewportDimensions.left) { // left overflow + delta.left = viewportDimensions.left - leftEdgeOffset + } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow + delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset + } + } + + return delta + } + + Tooltip.prototype.getTitle = function () { + var title + var $e = this.$element + var o = this.options + + title = $e.attr('data-original-title') + || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) + + return title + } + + Tooltip.prototype.getUID = function (prefix) { + do prefix += ~~(Math.random() * 1000000) + while (document.getElementById(prefix)) + return prefix + } + + Tooltip.prototype.tip = function () { + if (!this.$tip) { + this.$tip = $(this.options.template) + if (this.$tip.length != 1) { + throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') + } + } + return this.$tip + } + + Tooltip.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) + } + + Tooltip.prototype.enable = function () { + this.enabled = true + } + + Tooltip.prototype.disable = function () { + this.enabled = false + } + + Tooltip.prototype.toggleEnabled = function () { + this.enabled = !this.enabled + } + + Tooltip.prototype.toggle = function (e) { + var self = this + if (e) { + self = $(e.currentTarget).data('bs.' + this.type) + if (!self) { + self = new this.constructor(e.currentTarget, this.getDelegateOptions()) + $(e.currentTarget).data('bs.' + this.type, self) + } + } + + if (e) { + self.inState.click = !self.inState.click + if (self.isInStateTrue()) self.enter(self) + else self.leave(self) + } else { + self.tip().hasClass('in') ? self.leave(self) : self.enter(self) + } + } + + Tooltip.prototype.destroy = function () { + var that = this + clearTimeout(this.timeout) + this.hide(function () { + that.$element.off('.' + that.type).removeData('bs.' + that.type) + if (that.$tip) { + that.$tip.detach() + } + that.$tip = null + that.$arrow = null + that.$viewport = null + }) + } + + + // TOOLTIP PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tooltip') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tooltip + + $.fn.tooltip = Plugin + $.fn.tooltip.Constructor = Tooltip + + + // TOOLTIP NO CONFLICT + // =================== + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: popover.js v3.3.6 + * http://getbootstrap.com/javascript/#popovers + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // POPOVER PUBLIC CLASS DEFINITION + // =============================== + + var Popover = function (element, options) { + this.init('popover', element, options) + } + + if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') + + Popover.VERSION = '3.3.6' + + Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }) + + + // NOTE: POPOVER EXTENDS tooltip.js + // ================================ + + Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) + + Popover.prototype.constructor = Popover + + Popover.prototype.getDefaults = function () { + return Popover.DEFAULTS + } + + Popover.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + var content = this.getContent() + + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events + this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' + ](content) + + $tip.removeClass('fade top bottom left right in') + + // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do + // this manually by checking the contents. + if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() + } + + Popover.prototype.hasContent = function () { + return this.getTitle() || this.getContent() + } + + Popover.prototype.getContent = function () { + var $e = this.$element + var o = this.options + + return $e.attr('data-content') + || (typeof o.content == 'function' ? + o.content.call($e[0]) : + o.content) + } + + Popover.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.arrow')) + } + + + // POPOVER PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.popover') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.popover', (data = new Popover(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.popover + + $.fn.popover = Plugin + $.fn.popover.Constructor = Popover + + + // POPOVER NO CONFLICT + // =================== + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: scrollspy.js v3.3.6 + * http://getbootstrap.com/javascript/#scrollspy + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + + function ScrollSpy(element, options) { + this.$body = $(document.body) + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) + this.options = $.extend({}, ScrollSpy.DEFAULTS, options) + this.selector = (this.options.target || '') + ' .nav li > a' + this.offsets = [] + this.targets = [] + this.activeTarget = null + this.scrollHeight = 0 + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) + this.refresh() + this.process() + } + + ScrollSpy.VERSION = '3.3.6' + + ScrollSpy.DEFAULTS = { + offset: 10 + } + + ScrollSpy.prototype.getScrollHeight = function () { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) + } + + ScrollSpy.prototype.refresh = function () { + var that = this + var offsetMethod = 'offset' + var offsetBase = 0 + + this.offsets = [] + this.targets = [] + this.scrollHeight = this.getScrollHeight() + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position' + offsetBase = this.$scrollElement.scrollTop() + } + + this.$body + .find(this.selector) + .map(function () { + var $el = $(this) + var href = $el.data('target') || $el.attr('href') + var $href = /^#./.test(href) && $(href) + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null + }) + .sort(function (a, b) { return a[0] - b[0] }) + .each(function () { + that.offsets.push(this[0]) + that.targets.push(this[1]) + }) + } + + ScrollSpy.prototype.process = function () { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset + var scrollHeight = this.getScrollHeight() + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() + var offsets = this.offsets + var targets = this.targets + var activeTarget = this.activeTarget + var i + + if (this.scrollHeight != scrollHeight) { + this.refresh() + } + + if (scrollTop >= maxScroll) { + return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) + } + + if (activeTarget && scrollTop < offsets[0]) { + this.activeTarget = null + return this.clear() + } + + for (i = offsets.length; i--;) { + activeTarget != targets[i] + && scrollTop >= offsets[i] + && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) + && this.activate(targets[i]) + } + } + + ScrollSpy.prototype.activate = function (target) { + this.activeTarget = target + + this.clear() + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + var active = $(selector) + .parents('li') + .addClass('active') + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active') + } + + active.trigger('activate.bs.scrollspy') + } + + ScrollSpy.prototype.clear = function () { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active') + } + + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.scrollspy') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.scrollspy + + $.fn.scrollspy = Plugin + $.fn.scrollspy.Constructor = ScrollSpy + + + // SCROLLSPY NO CONFLICT + // ===================== + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + + // SCROLLSPY DATA-API + // ================== + + $(window).on('load.bs.scrollspy.data-api', function () { + $('[data-spy="scroll"]').each(function () { + var $spy = $(this) + Plugin.call($spy, $spy.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tab.js v3.3.6 + * http://getbootstrap.com/javascript/#tabs + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TAB CLASS DEFINITION + // ==================== + + var Tab = function (element) { + // jscs:disable requireDollarBeforejQueryAssignment + this.element = $(element) + // jscs:enable requireDollarBeforejQueryAssignment + } + + Tab.VERSION = '3.3.6' + + Tab.TRANSITION_DURATION = 150 + + Tab.prototype.show = function () { + var $this = this.element + var $ul = $this.closest('ul:not(.dropdown-menu)') + var selector = $this.data('target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + if ($this.parent('li').hasClass('active')) return + + var $previous = $ul.find('.active:last a') + var hideEvent = $.Event('hide.bs.tab', { + relatedTarget: $this[0] + }) + var showEvent = $.Event('show.bs.tab', { + relatedTarget: $previous[0] + }) + + $previous.trigger(hideEvent) + $this.trigger(showEvent) + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return + + var $target = $(selector) + + this.activate($this.closest('li'), $ul) + this.activate($target, $target.parent(), function () { + $previous.trigger({ + type: 'hidden.bs.tab', + relatedTarget: $this[0] + }) + $this.trigger({ + type: 'shown.bs.tab', + relatedTarget: $previous[0] + }) + }) + } + + Tab.prototype.activate = function (element, container, callback) { + var $active = container.find('> .active') + var transition = callback + && $.support.transition + && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', false) + + element + .addClass('active') + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if (element.parent('.dropdown-menu').length) { + element + .closest('li.dropdown') + .addClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + } + + callback && callback() + } + + $active.length && transition ? + $active + .one('bsTransitionEnd', next) + .emulateTransitionEnd(Tab.TRANSITION_DURATION) : + next() + + $active.removeClass('in') + } + + + // TAB PLUGIN DEFINITION + // ===================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tab') + + if (!data) $this.data('bs.tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tab + + $.fn.tab = Plugin + $.fn.tab.Constructor = Tab + + + // TAB NO CONFLICT + // =============== + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + + // TAB DATA-API + // ============ + + var clickHandler = function (e) { + e.preventDefault() + Plugin.call($(this), 'show') + } + + $(document) + .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) + .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: affix.js v3.3.6 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function (element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options) + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) + + this.$element = $(element) + this.affixed = null + this.unpin = null + this.pinnedOffset = null + + this.checkPosition() + } + + Affix.VERSION = '3.3.6' + + Affix.RESET = 'affix affix-top affix-bottom' + + Affix.DEFAULTS = { + offset: 0, + target: window + } + + Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + var targetHeight = this.$target.height() + + if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false + + if (this.affixed == 'bottom') { + if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' + return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' + } + + var initializing = this.affixed == null + var colliderTop = initializing ? scrollTop : position.top + var colliderHeight = initializing ? targetHeight : height + + if (offsetTop != null && scrollTop <= offsetTop) return 'top' + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' + + return false + } + + Affix.prototype.getPinnedOffset = function () { + if (this.pinnedOffset) return this.pinnedOffset + this.$element.removeClass(Affix.RESET).addClass('affix') + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + return (this.pinnedOffset = position.top - scrollTop) + } + + Affix.prototype.checkPositionWithEventLoop = function () { + setTimeout($.proxy(this.checkPosition, this), 1) + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var height = this.$element.height() + var offset = this.options.offset + var offsetTop = offset.top + var offsetBottom = offset.bottom + var scrollHeight = Math.max($(document).height(), $(document.body).height()) + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) + + if (this.affixed != affix) { + if (this.unpin != null) this.$element.css('top', '') + + var affixType = 'affix' + (affix ? '-' + affix : '') + var e = $.Event(affixType + '.bs.affix') + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') + } + + if (affix == 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }) + } + } + + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.affix') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.affix + + $.fn.affix = Plugin + $.fn.affix.Constructor = Affix + + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + // AFFIX DATA-API + // ============== + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + var data = $spy.data() + + data.offset = data.offset || {} + + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom + if (data.offsetTop != null) data.offset.top = data.offsetTop + + Plugin.call($spy, data) + }) + }) + +}(jQuery); diff --git a/IG/3.0.4/static/styles/common/bootstrap/bootstrap.min.css b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.min.css new file mode 100644 index 00000000..1308e7ba --- /dev/null +++ b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.min.css @@ -0,0 +1,5 @@ +@charset "UTF-8";.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-13,.col-xs-14,.col-xs-15,.col-xs-16,.col-xs-17,.col-xs-18,.col-xs-19,.col-xs-2,.col-xs-20,.col-xs-21,.col-xs-22,.col-xs-23,.col-xs-24,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.img-responsive,.img-thumbnail,.table,label{max-width:100%}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.bg-gray-base{background-color:#000}.bg-gray-darker{background-color:#222}.bg-gray-dark{background-color:#333}.bg-gray{background-color:#555}.bg-gray-light{background-color:#777}.bg-gray-lighter{background-color:#eee}/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.btn-danger.dropdown-toggle,.open>.btn-default.dropdown-toggle,.open>.btn-info.dropdown-toggle,.open>.btn-primary.dropdown-toggle,.open>.btn-warning.dropdown-toggle{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(fonts/glyphicons-halflings-regular.eot);src:url(fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(fonts/glyphicons-halflings-regular.woff) format("woff"),url(fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#16a2c5;text-decoration:none}a:focus,a:hover{color:#0e6980;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.img-responsive{display:block;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:30px}.h2,h2{font-size:23px}.h3,h3{font-size:18px}.h4,h4{font-size:16px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#16a2c5}a.text-primary:focus,a.text-primary:hover{color:#117c97}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#16a2c5}a.bg-primary:focus,a.bg-primary:hover{background-color:#117c97}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre,pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd,dt{line-height:1.42857}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857;color:#777}legend,pre{color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{font-style:normal;line-height:1.42857}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;word-break:break-all;word-wrap:break-word;border:1px solid transparent;border-radius:4px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.row:after,.row:before{display:table;content:" "}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-2,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-2,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-2,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-13,.col-xs-14,.col-xs-15,.col-xs-16,.col-xs-17,.col-xs-18,.col-xs-19,.col-xs-2,.col-xs-20,.col-xs-21,.col-xs-22,.col-xs-23,.col-xs-24,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1{width:4.16667%}.col-xs-2{width:8.33333%}.col-xs-3{width:12.5%}.col-xs-4{width:16.66667%}.col-xs-5{width:20.83333%}.col-xs-6{width:25%}.col-xs-7{width:29.16667%}.col-xs-8{width:33.33333%}.col-xs-9{width:37.5%}.col-xs-10{width:41.66667%}.col-xs-11{width:45.83333%}.col-xs-12{width:50%}.col-xs-13{width:54.16667%}.col-xs-14{width:58.33333%}.col-xs-15{width:62.5%}.col-xs-16{width:66.66667%}.col-xs-17{width:70.83333%}.col-xs-18{width:75%}.col-xs-19{width:79.16667%}.col-xs-20{width:83.33333%}.col-xs-21{width:87.5%}.col-xs-22{width:91.66667%}.col-xs-23{width:95.83333%}.col-xs-24{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:4.16667%}.col-xs-pull-2{right:8.33333%}.col-xs-pull-3{right:12.5%}.col-xs-pull-4{right:16.66667%}.col-xs-pull-5{right:20.83333%}.col-xs-pull-6{right:25%}.col-xs-pull-7{right:29.16667%}.col-xs-pull-8{right:33.33333%}.col-xs-pull-9{right:37.5%}.col-xs-pull-10{right:41.66667%}.col-xs-pull-11{right:45.83333%}.col-xs-pull-12{right:50%}.col-xs-pull-13{right:54.16667%}.col-xs-pull-14{right:58.33333%}.col-xs-pull-15{right:62.5%}.col-xs-pull-16{right:66.66667%}.col-xs-pull-17{right:70.83333%}.col-xs-pull-18{right:75%}.col-xs-pull-19{right:79.16667%}.col-xs-pull-20{right:83.33333%}.col-xs-pull-21{right:87.5%}.col-xs-pull-22{right:91.66667%}.col-xs-pull-23{right:95.83333%}.col-xs-pull-24{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:4.16667%}.col-xs-push-2{left:8.33333%}.col-xs-push-3{left:12.5%}.col-xs-push-4{left:16.66667%}.col-xs-push-5{left:20.83333%}.col-xs-push-6{left:25%}.col-xs-push-7{left:29.16667%}.col-xs-push-8{left:33.33333%}.col-xs-push-9{left:37.5%}.col-xs-push-10{left:41.66667%}.col-xs-push-11{left:45.83333%}.col-xs-push-12{left:50%}.col-xs-push-13{left:54.16667%}.col-xs-push-14{left:58.33333%}.col-xs-push-15{left:62.5%}.col-xs-push-16{left:66.66667%}.col-xs-push-17{left:70.83333%}.col-xs-push-18{left:75%}.col-xs-push-19{left:79.16667%}.col-xs-push-20{left:83.33333%}.col-xs-push-21{left:87.5%}.col-xs-push-22{left:91.66667%}.col-xs-push-23{left:95.83333%}.col-xs-push-24{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:4.16667%}.col-xs-offset-2{margin-left:8.33333%}.col-xs-offset-3{margin-left:12.5%}.col-xs-offset-4{margin-left:16.66667%}.col-xs-offset-5{margin-left:20.83333%}.col-xs-offset-6{margin-left:25%}.col-xs-offset-7{margin-left:29.16667%}.col-xs-offset-8{margin-left:33.33333%}.col-xs-offset-9{margin-left:37.5%}.col-xs-offset-10{margin-left:41.66667%}.col-xs-offset-11{margin-left:45.83333%}.col-xs-offset-12{margin-left:50%}.col-xs-offset-13{margin-left:54.16667%}.col-xs-offset-14{margin-left:58.33333%}.col-xs-offset-15{margin-left:62.5%}.col-xs-offset-16{margin-left:66.66667%}.col-xs-offset-17{margin-left:70.83333%}.col-xs-offset-18{margin-left:75%}.col-xs-offset-19{margin-left:79.16667%}.col-xs-offset-20{margin-left:83.33333%}.col-xs-offset-21{margin-left:87.5%}.col-xs-offset-22{margin-left:91.66667%}.col-xs-offset-23{margin-left:95.83333%}.col-xs-offset-24{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-2,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:4.16667%}.col-sm-2{width:8.33333%}.col-sm-3{width:12.5%}.col-sm-4{width:16.66667%}.col-sm-5{width:20.83333%}.col-sm-6{width:25%}.col-sm-7{width:29.16667%}.col-sm-8{width:33.33333%}.col-sm-9{width:37.5%}.col-sm-10{width:41.66667%}.col-sm-11{width:45.83333%}.col-sm-12{width:50%}.col-sm-13{width:54.16667%}.col-sm-14{width:58.33333%}.col-sm-15{width:62.5%}.col-sm-16{width:66.66667%}.col-sm-17{width:70.83333%}.col-sm-18{width:75%}.col-sm-19{width:79.16667%}.col-sm-20{width:83.33333%}.col-sm-21{width:87.5%}.col-sm-22{width:91.66667%}.col-sm-23{width:95.83333%}.col-sm-24{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:4.16667%}.col-sm-pull-2{right:8.33333%}.col-sm-pull-3{right:12.5%}.col-sm-pull-4{right:16.66667%}.col-sm-pull-5{right:20.83333%}.col-sm-pull-6{right:25%}.col-sm-pull-7{right:29.16667%}.col-sm-pull-8{right:33.33333%}.col-sm-pull-9{right:37.5%}.col-sm-pull-10{right:41.66667%}.col-sm-pull-11{right:45.83333%}.col-sm-pull-12{right:50%}.col-sm-pull-13{right:54.16667%}.col-sm-pull-14{right:58.33333%}.col-sm-pull-15{right:62.5%}.col-sm-pull-16{right:66.66667%}.col-sm-pull-17{right:70.83333%}.col-sm-pull-18{right:75%}.col-sm-pull-19{right:79.16667%}.col-sm-pull-20{right:83.33333%}.col-sm-pull-21{right:87.5%}.col-sm-pull-22{right:91.66667%}.col-sm-pull-23{right:95.83333%}.col-sm-pull-24{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:4.16667%}.col-sm-push-2{left:8.33333%}.col-sm-push-3{left:12.5%}.col-sm-push-4{left:16.66667%}.col-sm-push-5{left:20.83333%}.col-sm-push-6{left:25%}.col-sm-push-7{left:29.16667%}.col-sm-push-8{left:33.33333%}.col-sm-push-9{left:37.5%}.col-sm-push-10{left:41.66667%}.col-sm-push-11{left:45.83333%}.col-sm-push-12{left:50%}.col-sm-push-13{left:54.16667%}.col-sm-push-14{left:58.33333%}.col-sm-push-15{left:62.5%}.col-sm-push-16{left:66.66667%}.col-sm-push-17{left:70.83333%}.col-sm-push-18{left:75%}.col-sm-push-19{left:79.16667%}.col-sm-push-20{left:83.33333%}.col-sm-push-21{left:87.5%}.col-sm-push-22{left:91.66667%}.col-sm-push-23{left:95.83333%}.col-sm-push-24{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:4.16667%}.col-sm-offset-2{margin-left:8.33333%}.col-sm-offset-3{margin-left:12.5%}.col-sm-offset-4{margin-left:16.66667%}.col-sm-offset-5{margin-left:20.83333%}.col-sm-offset-6{margin-left:25%}.col-sm-offset-7{margin-left:29.16667%}.col-sm-offset-8{margin-left:33.33333%}.col-sm-offset-9{margin-left:37.5%}.col-sm-offset-10{margin-left:41.66667%}.col-sm-offset-11{margin-left:45.83333%}.col-sm-offset-12{margin-left:50%}.col-sm-offset-13{margin-left:54.16667%}.col-sm-offset-14{margin-left:58.33333%}.col-sm-offset-15{margin-left:62.5%}.col-sm-offset-16{margin-left:66.66667%}.col-sm-offset-17{margin-left:70.83333%}.col-sm-offset-18{margin-left:75%}.col-sm-offset-19{margin-left:79.16667%}.col-sm-offset-20{margin-left:83.33333%}.col-sm-offset-21{margin-left:87.5%}.col-sm-offset-22{margin-left:91.66667%}.col-sm-offset-23{margin-left:95.83333%}.col-sm-offset-24{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-2,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:4.16667%}.col-md-2{width:8.33333%}.col-md-3{width:12.5%}.col-md-4{width:16.66667%}.col-md-5{width:20.83333%}.col-md-6{width:25%}.col-md-7{width:29.16667%}.col-md-8{width:33.33333%}.col-md-9{width:37.5%}.col-md-10{width:41.66667%}.col-md-11{width:45.83333%}.col-md-12{width:50%}.col-md-13{width:54.16667%}.col-md-14{width:58.33333%}.col-md-15{width:62.5%}.col-md-16{width:66.66667%}.col-md-17{width:70.83333%}.col-md-18{width:75%}.col-md-19{width:79.16667%}.col-md-20{width:83.33333%}.col-md-21{width:87.5%}.col-md-22{width:91.66667%}.col-md-23{width:95.83333%}.col-md-24{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:4.16667%}.col-md-pull-2{right:8.33333%}.col-md-pull-3{right:12.5%}.col-md-pull-4{right:16.66667%}.col-md-pull-5{right:20.83333%}.col-md-pull-6{right:25%}.col-md-pull-7{right:29.16667%}.col-md-pull-8{right:33.33333%}.col-md-pull-9{right:37.5%}.col-md-pull-10{right:41.66667%}.col-md-pull-11{right:45.83333%}.col-md-pull-12{right:50%}.col-md-pull-13{right:54.16667%}.col-md-pull-14{right:58.33333%}.col-md-pull-15{right:62.5%}.col-md-pull-16{right:66.66667%}.col-md-pull-17{right:70.83333%}.col-md-pull-18{right:75%}.col-md-pull-19{right:79.16667%}.col-md-pull-20{right:83.33333%}.col-md-pull-21{right:87.5%}.col-md-pull-22{right:91.66667%}.col-md-pull-23{right:95.83333%}.col-md-pull-24{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:4.16667%}.col-md-push-2{left:8.33333%}.col-md-push-3{left:12.5%}.col-md-push-4{left:16.66667%}.col-md-push-5{left:20.83333%}.col-md-push-6{left:25%}.col-md-push-7{left:29.16667%}.col-md-push-8{left:33.33333%}.col-md-push-9{left:37.5%}.col-md-push-10{left:41.66667%}.col-md-push-11{left:45.83333%}.col-md-push-12{left:50%}.col-md-push-13{left:54.16667%}.col-md-push-14{left:58.33333%}.col-md-push-15{left:62.5%}.col-md-push-16{left:66.66667%}.col-md-push-17{left:70.83333%}.col-md-push-18{left:75%}.col-md-push-19{left:79.16667%}.col-md-push-20{left:83.33333%}.col-md-push-21{left:87.5%}.col-md-push-22{left:91.66667%}.col-md-push-23{left:95.83333%}.col-md-push-24{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:4.16667%}.col-md-offset-2{margin-left:8.33333%}.col-md-offset-3{margin-left:12.5%}.col-md-offset-4{margin-left:16.66667%}.col-md-offset-5{margin-left:20.83333%}.col-md-offset-6{margin-left:25%}.col-md-offset-7{margin-left:29.16667%}.col-md-offset-8{margin-left:33.33333%}.col-md-offset-9{margin-left:37.5%}.col-md-offset-10{margin-left:41.66667%}.col-md-offset-11{margin-left:45.83333%}.col-md-offset-12{margin-left:50%}.col-md-offset-13{margin-left:54.16667%}.col-md-offset-14{margin-left:58.33333%}.col-md-offset-15{margin-left:62.5%}.col-md-offset-16{margin-left:66.66667%}.col-md-offset-17{margin-left:70.83333%}.col-md-offset-18{margin-left:75%}.col-md-offset-19{margin-left:79.16667%}.col-md-offset-20{margin-left:83.33333%}.col-md-offset-21{margin-left:87.5%}.col-md-offset-22{margin-left:91.66667%}.col-md-offset-23{margin-left:95.83333%}.col-md-offset-24{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-2,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:4.16667%}.col-lg-2{width:8.33333%}.col-lg-3{width:12.5%}.col-lg-4{width:16.66667%}.col-lg-5{width:20.83333%}.col-lg-6{width:25%}.col-lg-7{width:29.16667%}.col-lg-8{width:33.33333%}.col-lg-9{width:37.5%}.col-lg-10{width:41.66667%}.col-lg-11{width:45.83333%}.col-lg-12{width:50%}.col-lg-13{width:54.16667%}.col-lg-14{width:58.33333%}.col-lg-15{width:62.5%}.col-lg-16{width:66.66667%}.col-lg-17{width:70.83333%}.col-lg-18{width:75%}.col-lg-19{width:79.16667%}.col-lg-20{width:83.33333%}.col-lg-21{width:87.5%}.col-lg-22{width:91.66667%}.col-lg-23{width:95.83333%}.col-lg-24{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:4.16667%}.col-lg-pull-2{right:8.33333%}.col-lg-pull-3{right:12.5%}.col-lg-pull-4{right:16.66667%}.col-lg-pull-5{right:20.83333%}.col-lg-pull-6{right:25%}.col-lg-pull-7{right:29.16667%}.col-lg-pull-8{right:33.33333%}.col-lg-pull-9{right:37.5%}.col-lg-pull-10{right:41.66667%}.col-lg-pull-11{right:45.83333%}.col-lg-pull-12{right:50%}.col-lg-pull-13{right:54.16667%}.col-lg-pull-14{right:58.33333%}.col-lg-pull-15{right:62.5%}.col-lg-pull-16{right:66.66667%}.col-lg-pull-17{right:70.83333%}.col-lg-pull-18{right:75%}.col-lg-pull-19{right:79.16667%}.col-lg-pull-20{right:83.33333%}.col-lg-pull-21{right:87.5%}.col-lg-pull-22{right:91.66667%}.col-lg-pull-23{right:95.83333%}.col-lg-pull-24{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:4.16667%}.col-lg-push-2{left:8.33333%}.col-lg-push-3{left:12.5%}.col-lg-push-4{left:16.66667%}.col-lg-push-5{left:20.83333%}.col-lg-push-6{left:25%}.col-lg-push-7{left:29.16667%}.col-lg-push-8{left:33.33333%}.col-lg-push-9{left:37.5%}.col-lg-push-10{left:41.66667%}.col-lg-push-11{left:45.83333%}.col-lg-push-12{left:50%}.col-lg-push-13{left:54.16667%}.col-lg-push-14{left:58.33333%}.col-lg-push-15{left:62.5%}.col-lg-push-16{left:66.66667%}.col-lg-push-17{left:70.83333%}.col-lg-push-18{left:75%}.col-lg-push-19{left:79.16667%}.col-lg-push-20{left:83.33333%}.col-lg-push-21{left:87.5%}.col-lg-push-22{left:91.66667%}.col-lg-push-23{left:95.83333%}.col-lg-push-24{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:4.16667%}.col-lg-offset-2{margin-left:8.33333%}.col-lg-offset-3{margin-left:12.5%}.col-lg-offset-4{margin-left:16.66667%}.col-lg-offset-5{margin-left:20.83333%}.col-lg-offset-6{margin-left:25%}.col-lg-offset-7{margin-left:29.16667%}.col-lg-offset-8{margin-left:33.33333%}.col-lg-offset-9{margin-left:37.5%}.col-lg-offset-10{margin-left:41.66667%}.col-lg-offset-11{margin-left:45.83333%}.col-lg-offset-12{margin-left:50%}.col-lg-offset-13{margin-left:54.16667%}.col-lg-offset-14{margin-left:58.33333%}.col-lg-offset-15{margin-left:62.5%}.col-lg-offset-16{margin-left:66.66667%}.col-lg-offset-17{margin-left:70.83333%}.col-lg-offset-18{margin-left:75%}.col-lg-offset-19{margin-left:79.16667%}.col-lg-offset-20{margin-left:83.33333%}.col-lg-offset-21{margin-left:87.5%}.col-lg-offset-22{margin-left:91.66667%}.col-lg-offset-23{margin-left:95.83333%}.col-lg-offset-24{margin-left:100%}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:8px}.form-control{width:100%;height:35px;padding:7px 14px;background-color:#fff;border:1px solid #ccc;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:35px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm>.input-group-btn>input.btn[type=date],.input-group-sm>.input-group-btn>input.btn[type=time],.input-group-sm>.input-group-btn>input.btn[type=datetime-local],.input-group-sm>.input-group-btn>input.btn[type=month],.input-group-sm>input.form-control[type=date],.input-group-sm>input.form-control[type=time],.input-group-sm>input.form-control[type=datetime-local],.input-group-sm>input.form-control[type=month],.input-group-sm>input.input-group-addon[type=date],.input-group-sm>input.input-group-addon[type=time],.input-group-sm>input.input-group-addon[type=datetime-local],.input-group-sm>input.input-group-addon[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg>.input-group-btn>input.btn[type=date],.input-group-lg>.input-group-btn>input.btn[type=time],.input-group-lg>.input-group-btn>input.btn[type=datetime-local],.input-group-lg>.input-group-btn>input.btn[type=month],.input-group-lg>input.form-control[type=date],.input-group-lg>input.form-control[type=time],.input-group-lg>input.form-control[type=datetime-local],.input-group-lg>input.form-control[type=month],.input-group-lg>input.input-group-addon[type=date],.input-group-lg>input.input-group-addon[type=time],.input-group-lg>input.input-group-addon[type=datetime-local],.input-group-lg>input.input-group-addon[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:58px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:8px;padding-bottom:8px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select.btn[multiple],.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select.form-control[multiple],.input-group-sm>select.input-group-addon[multiple],.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:58px;padding:16px 24px;font-size:18px;line-height:1.33333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:58px;line-height:58px}.input-group-lg>.input-group-btn>select.btn[multiple],.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select.form-control[multiple],.input-group-lg>select.input-group-addon[multiple],.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:58px;padding:16px 24px;font-size:18px;line-height:1.33333;border-radius:6px}.form-group-lg select.form-control{height:58px;line-height:58px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:58px;min-height:38px;padding:17px 24px;font-size:18px;line-height:1.33333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:43.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:35px;height:35px;line-height:35px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:58px;height:58px;line-height:58px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:8px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:8px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:28px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:17px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:7px 14px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#ababab;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ababab;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#ababab;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#ababab;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#ababab;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#ababab}.btn-primary{color:#fff;background-color:#16a2c5;border-color:#138fae}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#117c97;border-color:#07313b}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#117c97;border-color:#0d6277}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#0d6277;border-color:#07313b}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#16a2c5;border-color:#138fae}.btn-primary .badge{color:#16a2c5;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#16a2c5;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#0e6980;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:16px 24px;font-size:18px;line-height:1.33333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#16a2c5}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group,.input-group-btn,.input-group-btn>.btn{position:relative}.input-group{display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:7px 14px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:0}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:16px 24px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav>li,.nav>li>a{display:block;position:relative}.nav:after{clear:both}.nav>li>a{padding:10px 20px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#16a2c5}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid transparent}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee transparent}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#fff;background-color:#16a2c5;border:1px solid transparent;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li,.nav-tabs.nav-justified>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#16a2c5}.navbar-default .navbar-brand,.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#000}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before{display:table;content:" "}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:7.5px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:7.5px;margin-bottom:7.5px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ededed;border-color:transparent}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#000;background-color:transparent}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:#eee}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#16a2c5;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#16a2c5}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#000}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#16a2c5;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#000}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#000}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:7px 14px;line-height:1.42857;text-decoration:none;color:#16a2c5;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#0e6980;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#16a2c5;border-color:#16a2c5;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:16px 24px;font-size:18px;line-height:1.33333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#16a2c5}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#117c97}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#16a2c5;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron{padding-top:50px;padding-bottom:50px;margin-bottom:50px;background-color:transparent}.jumbotron p{margin-bottom:25px;font-size:18px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:transparent}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:80px;padding-bottom:80px}.container .jumbotron,.container-fluid .jumbotron{padding-left:100px;padding-right:100px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#16a2c5}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#16a2c5;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#16a2c5;border-color:#16a2c5}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#b1e8f6}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:-1;border-top-left-radius:-1}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:-1;border-bottom-right-radius:-1}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:-1;border-top-left-radius:-1}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:-1;border-top-left-radius:-1}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:-1}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:-1}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:-1}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:-1}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#16a2c5}.panel-primary>.panel-heading{color:#fff;background-color:#16a2c5;border-color:#16a2c5}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#16a2c5}.panel-primary>.panel-heading .badge{color:#16a2c5;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#16a2c5}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before{display:table;content:" "}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}} \ No newline at end of file diff --git a/IG/3.0.4/static/styles/common/bootstrap/bootstrap.min.js b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.min.js new file mode 100644 index 00000000..94a4525d --- /dev/null +++ b/IG/3.0.4/static/styles/common/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.eot b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 00000000..b5aab370 Binary files /dev/null and b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.eot differ diff --git a/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.svg b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 00000000..8376c0f4 --- /dev/null +++ b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.ttf b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 00000000..8dab1177 Binary files /dev/null and b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.ttf differ diff --git a/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.woff b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 00000000..a078bce8 Binary files /dev/null and b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.woff differ diff --git a/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 00000000..a631cf8b Binary files /dev/null and b/IG/3.0.4/static/styles/common/bootstrap/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/IG/3.0.4/static/styles/common/favicon.ico b/IG/3.0.4/static/styles/common/favicon.ico new file mode 100644 index 00000000..5a3e26e8 Binary files /dev/null and b/IG/3.0.4/static/styles/common/favicon.ico differ diff --git a/IG/3.0.4/static/styles/common/jquery/jquery.js b/IG/3.0.4/static/styles/common/jquery/jquery.js new file mode 100644 index 00000000..684c52c9 --- /dev/null +++ b/IG/3.0.4/static/styles/common/jquery/jquery.js @@ -0,0 +1,9190 @@ +/*! + * jQuery JavaScript Library v2.1.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-05-01T17:11Z + */ + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper window is present, + // execute the factory and get jQuery + // For environments that do not inherently posses a window with a document + // (such as Node.js), expose a jQuery-making factory as module.exports + // This accentuates the need for the creation of a real window + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +// + +var arr = []; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + version = "2.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; + }, + + isPlainObject: function( obj ) { + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.constructor && + !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { + return false; + } + + // If the function hasn't returned already, we're confident that + // |obj| is a plain object, created by {} or constructed with new Object + return true; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + // Support: Android < 4.0, iOS < 6 (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call(obj) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf("use strict") === 1 ) { + script = document.createElement("script"); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + indirect( code ); + } + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Support: Android<4.1 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v1.10.19 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-04-18 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + characterEncoding + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document (jQuery #6963) + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== strundefined && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, + doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent !== parent.top ) { + // IE11 does not have attachEvent, so all must suffer + if ( parent.addEventListener ) { + parent.addEventListener( "unload", function() { + setDocument(); + }, false ); + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", function() { + setDocument(); + }); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { + div.innerHTML = "
"; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowclip^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (oldCache = outerCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + outerCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context !== document && context; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is no seed and only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) >= 0 ) !== not; + }); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); +}; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + len = this.length, + ret = [], + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +}); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return typeof rootjQuery.ready !== "undefined" ? + rootjQuery.ready( selector ) : + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.extend({ + dir: function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; + }, + + sibling: function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; + } +}); + +jQuery.fn.extend({ + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter(function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.unique( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.unique( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +}); +var rnotwhite = (/\S+/g); + + + +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend({ + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +}); + +/** + * The ready event handler and self cleanup method + */ +function completed() { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + jQuery.ready(); +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + } else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[0], key ) : emptyGet; +}; + + +/** + * Determines whether an object can have data + */ +jQuery.acceptData = function( owner ) { + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + +function Data() { + // Support: Android < 4, + // Old WebKit does not have Object.preventExtensions/freeze method, + // return new empty object instead with no [[set]] accessor + Object.defineProperty( this.cache = {}, 0, { + get: function() { + return {}; + } + }); + + this.expando = jQuery.expando + Math.random(); +} + +Data.uid = 1; +Data.accepts = jQuery.acceptData; + +Data.prototype = { + key: function( owner ) { + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return the key for a frozen object. + if ( !Data.accepts( owner ) ) { + return 0; + } + + var descriptor = {}, + // Check if the owner object already has a cache key + unlock = owner[ this.expando ]; + + // If not, create one + if ( !unlock ) { + unlock = Data.uid++; + + // Secure it in a non-enumerable, non-writable property + try { + descriptor[ this.expando ] = { value: unlock }; + Object.defineProperties( owner, descriptor ); + + // Support: Android < 4 + // Fallback to a less secure definition + } catch ( e ) { + descriptor[ this.expando ] = unlock; + jQuery.extend( owner, descriptor ); + } + } + + // Ensure the cache object + if ( !this.cache[ unlock ] ) { + this.cache[ unlock ] = {}; + } + + return unlock; + }, + set: function( owner, data, value ) { + var prop, + // There may be an unlock assigned to this node, + // if there is no entry for this "owner", create one inline + // and set the unlock as though an owner entry had always existed + unlock = this.key( owner ), + cache = this.cache[ unlock ]; + + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; + + // Handle: [ owner, { properties } ] args + } else { + // Fresh assignments by object are shallow copied + if ( jQuery.isEmptyObject( cache ) ) { + jQuery.extend( this.cache[ unlock ], data ); + // Otherwise, copy the properties one-by-one to the cache object + } else { + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } + } + } + return cache; + }, + get: function( owner, key ) { + // Either a valid cache is found, or will be created. + // New caches will be created and the unlock returned, + // allowing direct access to the newly created + // empty data object. A valid owner object must be provided. + var cache = this.cache[ this.key( owner ) ]; + + return key === undefined ? + cache : cache[ key ]; + }, + access: function( owner, key, value ) { + var stored; + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ((key && typeof key === "string") && value === undefined) ) { + + stored = this.get( owner, key ); + + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase(key) ); + } + + // [*]When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + unlock = this.key( owner ), + cache = this.cache[ unlock ]; + + if ( key === undefined ) { + this.cache[ unlock ] = {}; + + } else { + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } + } + + i = name.length; + while ( i-- ) { + delete cache[ name[ i ] ]; + } + } + }, + hasData: function( owner ) { + return !jQuery.isEmptyObject( + this.cache[ owner[ this.expando ] ] || {} + ); + }, + discard: function( owner ) { + if ( owner[ this.expando ] ) { + delete this.cache[ owner[ this.expando ] ]; + } + } +}; +var data_priv = new Data(); + +var data_user = new Data(); + + + +/* + Implementation Summary + + 1. Enforce API surface and semantic compatibility with 1.9.x branch + 2. Improve the module's maintainability by reducing the storage + paths to a single mechanism. + 3. Use the same single mechanism to support "private" and "user" data. + 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) + 5. Avoid exposing implementation details on user objects (eg. expando properties) + 6. Provide a clear path for implementation upgrade to WeakMap in 2014 +*/ +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + data_user.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend({ + hasData: function( elem ) { + return data_user.hasData( elem ) || data_priv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return data_user.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + data_user.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to data_priv methods, these can be deprecated. + _data: function( elem, name, data ) { + return data_priv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + data_priv.remove( elem, name ); + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = data_user.get( elem ); + + if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + data_priv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + data_user.set( this, key ); + }); + } + + return access( this, function( value ) { + var data, + camelKey = jQuery.camelCase( key ); + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + // Attempt to get data from the cache + // with the key as-is + data = data_user.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to get data from the cache + // with the key camelized + data = data_user.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each(function() { + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = data_user.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + data_user.set( this, camelKey, value ); + + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf("-") !== -1 && data !== undefined ) { + data_user.set( this, key, value ); + } + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + data_user.remove( this, key ); + }); + } +}); + + +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = data_priv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = data_priv.access( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return data_priv.get( elem, key ) || data_priv.access( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + data_priv.remove( elem, [ type + "queue", key ] ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = data_priv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); + }; + +var rcheckableType = (/^(?:checkbox|radio)$/i); + + + +(function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // #11217 - WebKit loses check when the name is after the checked attribute + // Support: Windows Web Apps (WWA) + // `name` and `type` need .setAttribute for WWA + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 + // old WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Make sure textarea (and checkbox) defaultValue is properly cloned + // Support: IE9-IE11+ + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +})(); +var strundefined = typeof undefined; + + + +support.focusinBubbles = "onfocusin" in window; + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = data_priv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = data_priv.hasData( elem ) && data_priv.get( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + data_priv.remove( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && jQuery.acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome < 28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } +}; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + // Support: Android < 4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && e.preventDefault ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && e.stopPropagation ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// Support: Chrome 15+ +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// Create "bubbling" focus and blur events +// Support: Firefox, Chrome, Safari +if ( !support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + data_priv.remove( doc, fix ); + + } else { + data_priv.access( doc, fix, attaches ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); + + +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + + // Support: IE 9 + option: [ 1, "" ], + + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] + }; + +// Support: IE 9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: 1.x compatibility +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute("type"); + } + + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + data_priv.set( + elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) + ); + } +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( data_priv.hasData( src ) ) { + pdataOld = data_priv.access( src ); + pdataCur = data_priv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( data_user.hasData( src ) ) { + udataOld = data_user.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + data_user.set( dest, udataCur ); + } +} + +function getAll( context, tag ) { + var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : + context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + +// Support: IE >= 9 +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Support: IE >= 9 + // Fix Cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Fixes #12346 + // Support: Webkit, IE + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; + }, + + cleanData: function( elems ) { + var data, elem, type, key, + special = jQuery.event.special, + i = 0; + + for ( ; (elem = elems[ i ]) !== undefined; i++ ) { + if ( jQuery.acceptData( elem ) ) { + key = elem[ data_priv.expando ]; + + if ( key && (data = data_priv.cache[ key ]) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + if ( data_priv.cache[ key ] ) { + // Discard any remaining `private` data + delete data_priv.cache[ key ]; + } + } + } + // Discard any remaining `user` data + delete data_user.cache[ elem[ data_user.expando ] ]; + } + } +}); + +jQuery.fn.extend({ + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each(function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + }); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + remove: function( selector, keepData /* Internal Use Only */ ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var arg = arguments[ 0 ]; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + arg = this.parentNode; + + jQuery.cleanData( getAll( this ) ); + + if ( arg ) { + arg.replaceChild( elem, this ); + } + }); + + // Force removal if there was no new content (e.g., from empty arguments) + return arg && (arg.length || arg.nodeType) ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + self.domManip( args, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return this; + } +}); + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + + +var iframe, + elemdisplay = {}; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var style, + elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + // getDefaultComputedStyle might be reliably used only on attached element + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + + // Use of this method is a temporary fix (more like optmization) until something better comes along, + // since it was removed from specification and supported only in FF + style.display : jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = (iframe || jQuery( "