text:
# Change Log
This project adheres to [Semantic Versioning](http://semver.org/).

This CHANGELOG follows the format listed [here ](https://github.com/sensu-plugins/community/blob/master/HOW_WE_CHANGELOG.md)

## [Unreleased]

## [5.0.2] - 2020-09-15
### Fixed
- Fixed frozen_string_literal setting in executables

## [5.0.1] - 2020-04-27
### Changed
- Fixed travis build

## [5.0.0] - 2020-04-27
### Breaking Changes
- Bump `sensu-plugin` dependency from `~> 2.7` to `~> 4.0`
- Bump `activesupport` dependancy to '< 7.0.0'
- Bump `kubeclient` dependency to '>= 2.3', '< 5.0'

### Added
- Bonsai asset support

### Changed
- Updated rubocop dependency to '~> 0.81.0'
- Remediated rubocop issues
- Updated rake dependency to '~> 13.0'
- Removed codeclimate-test-reporter

## [4.0.1] - 2020-03-18
### Fixed
– `check-kube-pods-running.rb`: when POD's status.phase == Pending use the creation time rather than the start time to determine the pod timestamp as it will be nil and cause a downstream type error (@ttarczynski)

## [4.0.0] - 2018-12-15
### Security
- updated rubocop dependency to `~> 0.51.0` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8418. (@majormoses)
- updated yard dependency to `~> 0.9.11` per: https://nvd.nist.gov/vuln/detail/CVE-2017-17042 (@majormoses)

### Breaking Changes
- drop suppport for ruby versions `< 2.3` as they are EOL (@majormoses)
- bumped dependency of sensu-plugin to 2.x you can read about it [here](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#v145---2017-03-07) (@majormoses)

### Changed
- appeased the cops (@majormoses)

## [3.3.0] - 2018-11-26
### Changed
 - `check-kube-pods-running.rb`: Skip a POD which is in the not ready state for shorter time than the specified time. Otherwise, the check alerts if we get lots of new PODs which are spawned every second and get up or get terminated longer than a minute. (@sys-ops)

## [3.2.0] - 2018-11-21
### Changed
 - `check-kube-service-available.rb`: Skip a service if its selector is empty. Otherwise all PODs in the cluster are listed with client.get_pods() call (including those that we do not want to monitor) (@sys-ops)

## [3.1.1] - 2018-11-01
### Fixed
 - `check-kube-nodes-ready.rb`, `check-kube-pods-pending.rb`, `check-kube-pods-restarting.rb`, `check-kube-pods-running.rb`: fix exception when pod.spec.nodeName == nil (i.e. pod not assigned to a node) (@ttarczynski)

## [3.1.0] - 2018-10-29
### Added
 - `check-kube-nodes-ready.rb`, `check-kube-pods-pending.rb`, `check-kube-pods-restarting.rb`, `check-kube-pods-running.rb`: added options `--included-nodes` and `--excluded-nodes` which support a comma separated list so you can filter nodes (@ttarczynski)

### Fixed
- check-kube-pods-running.rb no longer throws an exception when there are no 3 conditions in the status information. Issue #39 (@AgarFu)

## [3.0.0] - 2017-09-12
### Breaking Change
 - check-kube-nodes-ready.rb no longer triggers an alert if an unschedulable node becomes NotReady (@tg90nor)

## [2.0.0] - 2017-08-28
### Added
 - Add option to explicitly include specific namespaces (@simulalex)

### Breaking Change
 - Drops support for Ruby-2.0, now requires Ruby >= 2.1.0 (@simulalex)

## [1.1.0] - 2017-08-11
### Added
- Ruby 2.4.1 testing (@thomasriley)
- Add option to use kubeconfig file for auth and TLS (@jaxxstorm)

## [1.0.0] - 2017-03-21
### Added
- Add `metrics-pods.rb` that will output the number of running pods per service (@mickfeech)
- Add `check-kube-pods-running` check (@nyxcharon)

### Changed
- Update `kubeclient` to 2.3.0 (@jackfengji)
- Split `check-kube-pods-pending` into two checks; the original still checks for
pending pods, the restart count portion has been split into it's own check, `check-kube-pods-restarting`. (@nyxcharon)

## [0.1.2] - 2016-08-07
### Fixed
- check-kube-service-available.rb: fixed error caused by misspelling of true boolean (@justinhammar)

### Changed
- check-kube-pods-pending.rb: Add namespace to output (@ajohnstone)
- check-kube-service-available.rb: Add namespace to output (@ajohnstone)
- pin `activesupport` to `< 5.0.0` to maintain compatability with Ruby < 2.2 (@eheydrick)

## [0.1.1] - 2016-05-17
### Fixed
- cli.rb: Fixed typo in critical call

## [0.1.0] - 2016-05-15
### Added
- Added flag to ignore namespaces in check-kube-pods-pending
- check-kube-service-available.rb: Will not mark a service as failed if any needed pod is running and ready
- check-kube-service-available.rb: Added options to allow of pod pending for given time to be counted as valid
- Factored all checks to share a common base class for connecting to Kubernetes
- Added flags to specify certificate authority and Kubernetes bearer token
- Added flags to specify client certificate/key and in-cluster support
- Support for Ruby 2.3

### Fixed
- check-kube-service-available.rb: Fixed scope issue in main block that would cause a nil error

### Changed
- Update to Rubocop 0.40 and cleanup
- Update to kubeclient 1.1.3

## 0.0.1 - 2016-03-03
### Added
- initial release

[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/5.0.2...HEAD
[5.0.2]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/5.0.1...5.0.2
[5.0.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/5.0.0...5.0.1
[5.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/4.0.1...5.0.0
[4.0.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/4.0.0...4.0.1
[4.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.3.0...4.0.0
[3.3.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.2.0...3.3.0
[3.2.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.1.1...3.2.0
[3.1.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.1.0...3.1.1
[3.1.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.0.1...3.1.0
[3.0.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.0.0...<IP_ADDRESS>
[3.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/2.0.0...3.0.0
[2.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/1.1.0...2.0.0
[1.1.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/1.0.0...1.1.0
[1.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/0.1.2...1.0.0
[0.1.2]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/0.1.1...0.1.2
[0.1.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/0.1.0...0.1.1
[0.1.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/0.0.1...0.1.0

repository: sensu-plugins/sensu-plugins-kubernetes

gha_language: Ruby

repo_name: sensu-plugins/sensu-plugins-kubernetes


text:
# dift

[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)

Super fast list diff algorithm.  Highly optimized for operations common in virtual DOM based UI systems, specifically: prepend, append, reverse, remove all, create all.  However, it performs very well in the worst case (random rearrangement) as well.

Without really researching it or benchmarking, i'm going to invoke [Cunningham's Law](https://meta.wikimedia.org/wiki/Cunningham%27s_Law) and say that it is the fastest key-based list diff algorithm in existence for this particular application in javascript.

## Installation

    $ npm install dift

## Usage

Params:

   * `prev` - The old list
   * `next` - The new list
   * `effect` - A function that receives operations.  You can execute your operations in here, or aggregate them into some buffer to be executed elsewhere, that is up to you.
   * `key` - Return a value used to compare two list items to determine whether they are equal.

### Effects

  * `CREATE` - Receives `(type = CREATE, prev = null, next = newItem, pos = positionToCreate)`
  * `UPDATE` - Receives `(type = UPDATE, prev = oldItem, next = newItem)`
  * `MOVE` - Receives `(type = MOVE, prev = oldItem, next = newItem, pos = newPosition)`
  * `REMOVE` - Receives `(type = REMOVE, prev = oldItem)`

## Example

```javascript
import diff, {CREATE, UPDATE, MOVE, REMOVE} from 'dift'

function diffChildren (prevList, nextList, node) {
  diff(prevList, nextList, function (type, prev, next, pos) {
    switch (type) {
      case CREATE:
        node.insertBefore(create(next), node.childNodes[pos] || null))
        break
      case UPDATE:
        update(prev, next, prev.element)
        break
      case MOVE:
        node.insertBefore(update(prev, next), prev.element)
        break
      case REMOVE:
        node.removeChild(prev.element)
        break
    }
  })
}
```

## Correctness

List diff is extremely tricky to implement correctly.  There are a lot of subtle edge cases and many of them are hard to think of a priori.  To deal with this, dift has not just extensive tests but *exhaustive* tests.  dift's tests explore the entire state space of roughly 8-10 item lists and ensure that the operations generated correctly produce the desired output.

## License

The MIT License

Copyright © 2015, Weo.io<EMAIL_ADDRESS>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

license: MIT

repository: ashaffer/dift

branch_name: refs/heads/master

extension: md

gha_language: JavaScript

license_type: permissive

repo_name: ashaffer/dift


text:
# raspberrypi_library

[OpenSCAD](http://www.openscad.org/) library files for designing and creating Raspberry Pi related parts.

## Instructions

* Add `use <filename.scad>` (e.g.  `use <papirus_hat_pizero.scad>`) to your *.scad file
* Call `papirus_hat_pizero();` module from your *.scad file

## Content

* `papipus_hat_pizero.scad`: OpenSCAD model for [PaPiRus Zero - ePaper / eInk Screen pHAT for Pi Zero](https://uk.pi-supply.com/products/papirus-zero-epaper-screen-phat-pi-zero) ![Papirus_hat_pizero01](img/papirus_hat_pizero01.png)![Papirus_hat_pizero02](img/papirus_hat_pizero02.png)

## Credits

Based on model library from Saarbastler:
 * https://github.com/saarbastler/library.scad


text:
* Attending: Todd Parker, John Bender, Mat Marquis, Gabriel Schulhof, Jasper de Groot, Anne-Gaelle Colom, Jason Scott

## General Updates

## Todd
* Device spreadsheet of all phones & tablets in the test lab. All team members will add their devices, Todd & Anne to work on device donation page
https://docs.google.com/spreadsheet/ccc?key=0Agm-zX35StMidE1uaWRNSmVmaWFVWkdPWnc2dmxHeVE#gid=0
* Filament can test for devs - we just need a list of devices, short link, steps to reproduce, and list of things to test for
* Issue triage & fixing: down from close to 600 a few weeks ago to 440

## Ghislain Seguin
* Download builder now outputs structure + theme files based on new meta data
* Working on decoupling basic components like touch, orientation, throttledresize

## John Bender
* Grunt work is done

## Gabriel Schulhof
* Fixed #4423 ( initial page has dialogHashKey ) need to talk about it.
* Merged custom-select-via-popup - Need to talk about progressive enhancement.
* Fixed popup screen sizing issues.
* Issue #4340 ( slow lists ) need to talk with gseguin.

## Jasper de Groot
* Issue triage earlier this week
* Working on button and form width consistency
* Filament to test box-sizing border-box on WP: jsbin.com/emaziy/ (Todd), report results here: https://github.com/jquery/jquery-mobile/issues/4098#issuecomment-5469381

## Anne-Gaelle Colom
* Will meet Richard about the new docs in XML format that follows the UI standard

## Jason D Scott
* BlackBerry 7.1 Transitions https://github.com/jquery/jquery-mobile/issues/4001 Anne will add documentation about -webkit-backface-visibility: hidden; -

***

## Open dev questions

Issue #4340 - do we need to blur() all links anymore now that gseguin has added the link tracking?
https://github.com/jquery/jquery-mobile/blob/master/js/jquery.mobile.navigation.js#L1267
I’ve tried with that line commented out and the problem from #1840 (which caused the above line to be added) did not re-occur - Improvement:
37.7% on my N900
78.9% on my desktop Chrome 20
29.4% on my desktop Firefox 12

BlackBerry 7.1 Transitions https://github.com/jquery/jquery-mobile/issues/4001 documentation about -webkit-backface-visibility: hidden;

Auto-scroll expandibles - Todd to test https://github.com/jquery/jquery-mobile/pull/3520#issuecomment-5702502

Opera mini bug - text focus https://github.com/jquery/jquery-mobile/issues/4311#issuecomment-5733560

### PhoneGap blinky transitions
Scott's recent fix for blinking in PhoneGap seems to be pretty solid, though I've see a few reports that some issues remain. Since PG is a big deal, we should probably accelerate 1.1.1 for release in the next 2-3 weeks.
https://github.com/jquery/jquery-mobile/issues/3768
https://github.com/jquery/jquery-mobile/issues/4024

### Fixed toolbars / updatePagePadding / header and content switched
Many related issues

### Re-enhancement after manipulation
buttonMarkup() and/or controlgroup()
https://github.com/jquery/jquery-mobile/issues/4317
https://github.com/jquery/jquery-mobile/issues/3635
Gabriel can have a look at these

### Button/form consistency
https://github.com/jquery/jquery-mobile/issues/4098#issuecomment-5469381
new PR + test page (Jasper)
Test box-sizing border-box on WP: jsbin.com/emaziy/ (Todd)
do we want form elements in toolbars to default to mini with option to override?

### Link styles
PR #4385
Should we add styles to protect buttons from a: basic styles?
https://github.com/jquery/jquery-mobile/issues/3444
Cascade issue bar link colors + reorder pseudo classes
TR issue #73 - links in bar not themable, always same as JQM default theme (Tyler Benziger)

### Navbar buttons
buttons wrap on BB5 and IE7, buttons leave a gap on probably all other browsers depending on available width - Jasper

### 2.3 nav issues
The back button doesn’t work in 2.x in some situations. The proposed fix is a revert back to the old timeout based prevention but doesn’t prevent the popstate triggered navigation like the previous version did.
https://github.com/jquery/jquery-mobile/issues/3980
https://github.com/jquery/jquery-mobile/compare/1.1-stable...3980-fix?w=1

## 1.1.1 Planning
Open issues: https://github.com/jquery/jquery-mobile/issues?milestone=14&state=open

## 1.2 Features
Issues: https://github.com/jquery/jquery-mobile/issues?milestone=13&page=1&state=open

### Popup: prototype & API
* Prototype: http://jquerymobile.com/branches/popup-widget/docs/pages/popup/index.html
* Options: http://jquerymobile.com/branches/popup-widget/docs/pages/popup/options.html
* Methods: http://jquerymobile.com/branches/popup-widget/docs/pages/popup/methods.html
* Events: http://jquerymobile.com/branches/popup-widget/docs/pages/popup/events.html
Do we want popup to turn into a dialog when it gets large, as suggested in https://github.com/jquery/jquery-mobile/issues/4329#issuecomment-5764484 - this would remove even more code from custom select, but do we want this for 1.2?
Progressive enhancement: [ Login ] -> [ Popup: [ Username ] [ Password ] [ Log in ] ] If not enhanced, this results in two login links.

### Read-only lists
New styling including removal smaller font-size and padding of ui-li-static for 1.2 #4347

### Grid widget?
have the framework adding the ui-block classes (same as navbar widget)
data attribute # columns

## 2. Other
* Donation page

branch_name: refs/heads/main

gha_license_id: NOASSERTION


text:
# ANurbs

A simple NURBS library for _Isogeometric B-Rep Analysis_ (_IBRA_)

[![Build Status](https://github.com/oberbichler/ANurbs/workflows/Python%20package/badge.svg?branch=master)](https://github.com/oberbichler/ANurbs/actions) [![Codacy grade](https://img.shields.io/codacy/grade/a2bc0400ebef41b799e88a15263b2c12/master)](https://app.codacy.com/manual/oberbichler/ANurbs) [![PyPI](https://img.shields.io/pypi/v/anurbs)](https://pypi.org/project/anurbs)

## Installation

```
pip install anurbs
```

## Reference

If you use ANurbs, please refer to the official GitHub repository:

```
@misc{ANurbs,
  author = "Thomas Oberbichler",
  title = "ANurbs",
  howpublished = "\url{http://github.com/oberbichler/ANurbs}",
}
```

repository: oberbichler/ANurbs

gha_license_id: MIT

repo_name: oberbichler/ANurbs


text:
# Project Title

This project is in partial fulfillment with the UC Berkeley Extension programming project --- construct a password generator using HTML, CSS, and JavaScript.

So we call this project Password Generator ...

## Getting Started

This is a stand alone application and should work once you hit the "Generate Password" button from within the page file:///C:/Users/renor/Desktop/03-javascript/homework/Develop/index.html

On that link, you can play around with how the app works.

Here is a video of me demoing the whole thing if you want to kick back and watch TV https://www.loom.com/share/0f35fe98430d41cda138aecc2857d35b

### Prerequisites

No prereq's to use ... but maybe a bit to evaluate?

Note this user is not free to enter garbage and the code moves through ... the user either MUST enter a valid password length and valid choice selection, or they are given the option to opt out.

### Installing

Please let me know if you are interested in the code for this. I feature several "while" loops which serve to keep the user engaged if they really are intentional about generating a password.

For the record:

Requirements are:

1) enter a real integer greater than or equal to 8 and less than or equal to 128. If you do not do this, my algorithm will bounce you all over the place until you enter valid input or give up. NO APOLOGIES!
2) once agreed on a real integer length, you must specify at least one of four potential defining criteria of this alorithm's inclusion criteria. If you don't, you are sent into a loop until you either opt out, or cave! " ... go with the logic Spock ...".
3) done? you get your password ...

## Built With

* [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML)
* [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS)
* [Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)

## Deployed Link

* [See Live Site](#)

## Authors

* **YOUR NAME**
- [Link to LinkedIn](https://www.linkedin.com/in/peter-alexander-4a444127/)

## License

This project is licensed under the MIT License

## Acknowledgments

* Hat tip to anyone whose code, libraries, packages, or UI was used  / inspired from
* Inspiration
* etc


text:
node-uname
==============

Overview
--------

node-uname is a node.js addon that exposes the standard uname function as
defined by IEEE Std 1003.1-2001 incorporated into the Single Unix Specification
v3.  The uname function allows software to identify information about the
currently running system software.  This information is useful primarily for
identification purposes but also as a last resort in determining what
capabilities are supported by a particular system.  Where possible, software
should test for the presence of specific features rather than hardcode which
system releases support those features.

Platforms
---------

This should work on any platform that implements the "uname" function as
described by the Single Unix Specification version 3.  It is known to work on
Mac OS X (tested on 10.6.5) and OpenSolaris build 147.

Installation
------------

As a module, node-uname is installed in the usual way:

      $ npm install uname

API
---

### `uname.uname()`

Returns an object with string members corresponding to the fields of `struct
utsinfo` as described by the standard.  For convenience, these are described
here:

	sysname		Name of this implementation of the operating system.
	nodename	Name of this node within the communications network to
			which this node is attached, if any.
	release  	Current release level of this implementation.
	version  	Current version level of this release.
	machine  	Name of the hardware type on which the system is running.

This function generally cannot fail except in truly exceptional circumstances
(like insufficient space to allocate the return value).

Example
--------

### Reimplementing "uname -s" (see uname(1))

      var uname = require('uname');
      var utsname = uname.uname();
      console.log(utsname.sysname);

repository: gmarler/node-uname

repo_name: gmarler/node-uname


text:
---
layout: default
title: Examples
---

# Libraries

# Measure Conversion Status
The following subsections link to measures that have started conversion to FHIR (separated as FHIR STU3 and R4), been fully converted, or are undergoing testing.

## FHIR R4 Conversion in Progress
Measures that are in the process of being converted to FHIR R4

* None at this time

## FHIR R4 Converted Measures
Measures that have been converted to FHIR R4

* [**EXM9**](cql/in-progress/fhir4/EXM9_FHIR4-8.1.000.cql) Exclusive Breast Milk Feeding
* [**EXM71**](cql/in-progress/fhir4/EXM71_FHIR4-9.000.cql) Anticoagulation Therapy for Atrial Fibrillation/Flutter
* [**EXM72**](cql/in-progress/fhir4/EXM72_FHIR4-8.1.000.cql) Antithrombotic Therapy By End of Hospital Day 2
* [**EXM105**](cql/in-progress/fhir4/EXM105_FHIR4-8.1.000.cql) Discharged on Statin Medication
* [**EXM111**](cql/in-progress/fhir4/EXM111_FHIR4-8.0.000.cql) Median Admit Decision Time to ED Departure Time for Admitted Patients
* [**EXM113**](cql/in-progress/fhir4/EXM113_FHIR4-8.1.000.cql) Elective Delivery
* [**EXM190**](cql/in-progress/fhir4/EXM190_FHIR4-8.2.000.cql) Intensive Care Unit Venous Thromboembolism Prophylaxis
* [**EXM349**](cql/in-progress/fhir4/EXM349_FHIR4-2.9.000.cql) HIV Screening
* [**EXM506**](cql/in-progress/fhir4/EXM506_FHIR4-2.0.000.cql) Safe use of opioids - concurrent prescribing

## FHIR R4 Under-Test Measures
Measures that are undergoing testing on their FHIR R4 version

* [**EXM104**](cql/in-progress/fhir4/EXM104_FHIR4-8.1.000.cql) Discharged on Antithrombotic Therapy
* [**EXM108**](cql/in-progress/fhir4/EXM108_FHIR4-8.2.000.cql) Venous Thromboembolism Prophylaxis
* [**EXM124**](cql/in-progress/fhir4/EXM124_FHIR4-8.1.000.cql) Cervical Cancer Screening - [Library](../resources/library/library-exm124-FHIR.json)
* [**EXM125**](cql/in-progress/fhir4/EXM125_FHIR4-8.1.000.cql) Breast Cancer Screening - [Library](../resources/library/library-exm125-FHIR.json)
* [**EXM130**](cql/in-progress/fhir4/EXM130_FHIR4-8.1.000.cql) Breast Cancer Screening - [Library](../resources/library/library-exm130-FHIR.json)
* [**EXM165**](cql/in-progress/fhir4/EXM165_FHIR4-8.5.000.cql) Controlling High Blood Pressure

## FHIR STU3 Conversion in Progress
Measures that are in the process of being converted to FHIR STU3

* [**EXM68**](cql/in-progress/fhir3/EXM_FHIR3-9.1.000.cql) Documentation of Current Medications in the Medical Record
* [**EXM71**](cql/in-progress/fhir3/EXM_FHIR3-9.1.000.cql) Anticoagulation Therapy for Atrial Fibrillation/Flutter
* [**EXM117**](cql/in-progress/fhir3/EXM_FHIR3-1.0.1.cql) Childhood Immunization Status
* [**EXM122**](cql/in-progress/fhir3/EXM_FHIR3-8.1.000.cql) Diabetes: Hemoglobin A1c (HbA1c) Poor Control (> 9%)
* [**EXM135**](cql/in-progress/fhir3/EXM_FHIR3-8.1.000.cql) Heart Failure (HF): Angiotensin-Converting Enzyme (ACE) Inhibitor or Angiotensin Receptor Blocker (ARB) Therapy for Left Ventricular Systolic Dysfunction (LVSD)
* [**EXM146**](cql/in-progress/fhir3/EXM_FHIR3-8.1.000.cql) Appropriate Testing for Children with Pharyngitis

## FHIR STU3 Converted Measures
Measures that have been converted to FHIR STU3

* [**EXM2**](cql/in-progress/fhir3/EXM2_FHIR3-1.1.000.cql) Preventive Care and Screening: Screening for Depression and Follow-Up Plan
* [**EXM72**](cql/in-progress/fhir3/EXM72_FHIR3-8.1.0.cql) Antithrombotic Therapy By End of Hospital Day 2
* [**EXM105**](cql/in-progress/fhir3/EXM105_FHIR3-8.000.cql) Discharged on Statin Medication
* [**EXM111**](cql/in-progress/fhir3/EXM111_FHIR3-8.0.000.cql) Median Admit Decision Time to ED Departure Time for Admitted Patients
* [**EXM135**](cql/in-progress/fhir3/EXM135_FHIR3.cql) Heart Failure (HF): Angiotensin-Converting Enzyme (ACE) Inhibitor or Angiotensin Receptor Blocker (ARB) Therapy for Left Ventricular Systolic Dysfunction (LVSD)
* [**EXM159**](cql/in-progress/fhir3/EXM159_FHIR3-8.5.002.cql) Depression Remission at Twelve Months
* [**EXM161**](cql/in-progress/fhir3/EXM161_FHIR3-8.0.0.cql) Adult Major Depressive Disorder (MDD): Suicide Risk Assessment
* [**EXM177**](cql/in-progress/fhir3/EXM177_FHIR3-8.1.000.cql) Child and Adolescent Major Depressive Disorder (MDD): Suicide Risk Assessment
* [**EXM349**](cql/in-progress/fhir3/EXM349_FHIR3-2.9.000.cql) HIV Screening
* [**EXM506**](cql/in-progress/fhir3/EXM506_FHIR3-2.0.000.cql) Safe use of opioids - concurrent prescribing

## FHIR STU3 Under-Test Measures
Measures that are undergoing testing on their FHIR STU3 version

* [**EXM104**](cql/in-progress/fhir3/EXM104_FHIR3-8.1.000.cql) Discharged on Antithrombotic Therapy
* [**EXM108**](cql/complete/fhir3/EXM108_FHIR3-7.4.000.cql) Venous Thromboembolism Prophylaxis
* [**EXM124**](cql/complete/fhir3/EXM124_FHIR3-7.2.000.cql) Cervical Cancer Screening - [Library](../resources/library/library-exm124-FHIR.json)
* [**EXM125**](cql/complete/fhir3/EXM125_FHIR3-7.2.000.cql) Breast Cancer Screening - [Library](../resources/library/library-exm125-FHIR.json)
* [**EXM130**](cql/complete/fhir3/EXM130_FHIR3-7.2.000.cql) Colorectal Cancer Screening - [Library](../resources/library/library-exm130-FHIR.json)
* [**EXM165**](cql/in-progress/fhir3/EXM165_FHIR3-8.5.000.cql) Controlling High Blood Pressure

# Issues

This section will contain links to trackers that have been submitted for issues encountered during the translation.

Walkthrough examples, specifically identifying gaps and how they were addressed within translation.

Capture and document known gaps.

# Common Patterns and Approaches

NOTE: The examples throughout have been simplified to illustrate specific usage. Refer to the originating context for the complete expression.

## Encounter Examples

### Inpatient Encounter Example

Example source: MATGlobalCommonFunctions

```cql
define "Inpatient Encounter":
	[Encounter: "Encounter Inpatient"] EncounterInpatient
		where EncounterInpatient.status = 'finished'
	    and "LengthInDays"(EncounterInpatient.period) <= 120
			and EncounterInpatient.period ends during "Measurement Period"
```

### Inpatient Encounter with Principal Diagnosis

Example source: EXM105

```cql
define "Inpatient Encounter with Principal Diagnosis of Ischemic Stroke":
  "Inpatient Encounter" Encounter
	  let PrincipalDiagnosis:
		  (singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD
        return singleton from ([Condition: id in Last(Split(PD.condition.reference, '/'))])
	  where PrincipalDiagnosis.code in "Ischemic Stroke"
```

Note that the FHIRHelpers.ToConcept usage is intended to be implicit and will be unnecessary once QUICK is fully supported.

### Inpatient Encounter with Principal Procedure

Example source: VTE-1

```cql
define "Inpatient Encounter With Principal Procedure of SCIP VTE Selected Surgery":
  "Inpatient Encounter" Encounter
	  let PrincipalProcedure:
		  singleton from (
			  Encounter.extension E
				  where E.url = 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter-procedure'
					  and exists (E.extension I where I.url = 'type' and I.value ~ "Primary procedure")
					return singleton from (
							E.extension I where I.url = 'procedure' return GetProcedure(I.value)
						)
			)
		where PrincipalProcedure.code in "SCIP VTE Selected Surgery"

define function GetProcedure(reference Reference):
  singleton from ["Procedure": id in GetId(reference.reference))]

define function GetId(uri String):
  Last(Split(uri, '/'))
```

## Diagnosis Examples

Example source: EXM72_FHIR-8.1.0_TJC.cql

```cql
define "Condition of Intravenous or Intra arterial Thrombolytic (tPA) Therapy Prior to Arrival":
	[Condition: "Intravenous or Intra arterial Thrombolytic (tPA) Therapy Prior to Arrival"] PriorTPA
		where clinicalStatus in { 'active', 'recurrence', 'relapse' }
```

Note that verificationStatus is not being checked due to feedback received that it may be difficult for implementers to retrieve the element.

## Medications

Example source: EXM108_FHIR

```cql
define "VTE Prophylaxis by Medication Administered":
  ["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] VTEMedication
	  where VTEMedication.status = 'completed'
		  and VTEMedication.dosage.route in "Subcutaneous route"
```

### Medications at discharge

Example source: EXM104_FHIR-8.1.000_TJC.cql

```cql
define "Antithrombotic Therapy at Discharge":
	["MedicationRequest": "Antithrombotic Therapy"] Antithrombotic
	  where exists (Antithrombotic.category C where FHIRHelpers.ToConcept(C) ~ "Discharge")
	    and Antithrombotic.intent = 'order'
```

Note that the FHIRHelpers.ToConcept usage is intended to be implicit and will be unnecessary once QUICK is fully supported.

### Medication not discharged

```cql
define "Antithrombotic Not Given at Discharge":
	["MedicationRequest": "Antithrombotic Therapy"] NoAntithromboticDischarge
	  // STU3
		where exists (
			NoAntithromboticDischarge.extension E
			  where E.url = 'http://hl7.org/fhir/us/davinci-deqm/STU3/StructureDefinition/extension-doNotPerform'
				  and E.value is true
		)
		// R4
		//where NoAntithromboticDischarge.doNotPerform is true
			and (singleton from NoAntithromboticDischarge.reasonCode in "Medical Reason"
				or singleton from NoAntithromboticDischarge.reasonCode in "Patient Refusal")

// NOTE: On the assumption that status of not-taken is the closest to what the measure is looking for, this is the expression:
// Ballot-note: Request discussion w/ Pharmacy regarding how medications not prescribed at discharged would be documented
//define "Antithrombotic Not Given at Discharge R4":
//  ["MedicationStatement": "Antithrombotic Therapy"] AntithromboticTherapy
//	  where AntithromboticTherapy.status = 'not-taken'
//		  and (AntithromboticTherapy.statusReason in "Medical Reason"
//				or AntithrombtoicTherapy.statusReason in "Patient Refusal")
```

### Medication not administered

Example source: EXM108_FHIR

```cql
define "No VTE Prophylaxis Medication Administered":
  ["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] MedicationAdm
		where MedicationAdm.status = 'not-done'
```

### Medication not ordered

Example source: EXM108_FHIR

```cql
define "No VTE Prophylaxis Medication Ordered":
  ["MedicationRequest": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] MedicationOrder
	where MedicationOrder.intent = 'order'
    and MedicationOrder.doNotPerform is true
```

Ballot-note: Note that the MedicationRequest status element is not being checked here. What is the status element expected to be for a MedicationRequest with doNotPerform set to true?

### Medication use

### Non-Medication Substances

### Non-Medication Substance Use

## Procedures/Interventions

Example source: EXM108_FHIR

```cql
define "Intervention Comfort Measures":
	(["ServiceRequest": "Comfort Measures"] P
		where P.intent = 'order')
	union
	(["Procedure": "Comfort Measures"] IntervetionPerformed
		where IntervetionPerformed.status = 'completed')
```

## Care Plan - Care Goals

## Communication

## Devices

### Device Use

Example source: EXM108_FHIR

```cql
define "VTE Prophylaxis by Device Applied":
  (
		["DeviceUseStatement": code in "Intermittent pneumatic compression devices (IPC)"]
  	  union ["DeviceUseStatement": code in "Venous foot pumps (VFP)"]
	    union ["DeviceUseStatement": code in "Graduated compression stockings (GCS)"]
  ) DeviceApplied
		where DeviceApplied.status = 'completed'
```

### Device Not Used

Example source: EXM108_FHIR

```cql
define "No VTE Prophylaxis Device Applied":
   (["DeviceUseStatement": code in "Venous foot pumps (VFP)"]
    union ["DeviceUseStatement": code in "Intermittent pneumatic compression devices (IPC)"]
    union ["DeviceUseStatement": code in "Graduated compression stockings (GCS)"]
  ) DeviceApplied
	  where GetExtension(DeviceApplied.extension, 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-deviceusestatement-notDone').value is true
```

### Device Order

### Device Not Ordered

Example source: EXM108_FHIR

```cql
define "No VTE Prophylaxis Device Ordered":
    ["DeviceRequest": code in "Venous foot pumps (VFP)"]
      union ["DeviceRequest": code in "Intermittent pneumatic compression devices (IPC)"]
      union ["DeviceRequest": code in "Graduated compression stockings (GCS)"]
  ) DevideOrder
    where DevideOrder.intent = 'Order'
      and GetExtension(DevideOrder.extension, 'http://hl7.org/fhir/StructureDefinition/request-doNotPerform').value is true
```

## Care Plan - Care Goals

## Adverse Event

## Allergy/Intolerance

## Observations

Example source: EXM108_FHIR

```cql
define "Is In Low Risk for VTE or On Anticoagulant":
	["Observation": code in "Risk for venous thromboembolism"] VTERiskAssessment
		where exists(FHIRHelpers.ToConcept(VTERiskAssessment.value) ~ FHIRHelpers.ToConcept("Low Risk" )
```

Note that the FHIRHelpers.ToConcept usage is intended to be implicit and will be unnecessary once QUICK is fully supported.

### General Observations

### Laboratory tests

### Diagnostic Imaging Studies

### Symptoms

### Vital Signs

#### Blood Pressure

#### BMI

## Family History

## Immunization

## Cross-context queries (e.g to another individuals record)

## Program Participation (e.g. health plan, disease specific program)

## Requests

### Orders

### Recommendations

### Proposals

## Timing Examples

Potentially use Cooking w/ CQL Examples of timing, possibly examples from QDM

[QDM Timing](https://github.com/esacinc/CQL-Formatting-and-Usage-Wiki/blob/master/Source/Cooking%20With%20CQL/36/112_QDMandCQLTimingRedux.cql)

[QDM Timing 2](https://github.com/esacinc/CQL-Formatting-and-Usage-Wiki/blob/master/Source/Cooking%20With%20CQL/35/107_TimingExamples.cql)

Examples of margins and boundaries, and working around them

# Tools

repository: jd-webb/draft-measures

repo_name: jd-webb/draft-measures


text:
# Laravel payment processor package for UnitPay gateway

[![Latest Stable Version](https://poser.pugx.org/maksa988/laravel-unitpay/v/stable)](https://packagist.org/packages/maksa988/laravel-unitpay)
[![CodeFactor](https://www.codefactor.io/repository/github/maksa988/laravel-unitpay/badge)](https://www.codefactor.io/repository/github/maksa988/laravel-unitpay)
[![Quality Score](https://img.shields.io/scrutinizer/g/maksa988/laravel-unitpay.svg?style=flat-square)](https://scrutinizer-ci.com/g/maksa988/laravel-unitpay)
[![Total Downloads](https://img.shields.io/packagist/dt/maksa988/laravel-unitpay.svg?style=flat-square)](https://packagist.org/packages/maksa988/laravel-unitpay)
[![License](https://poser.pugx.org/maksa988/laravel-unitpay/license)](https://packagist.org/packages/maksa988/laravel-unitpay)

Accept payments via UnitPay ([unitpay.ru](https://unitpay.ru/)) using this Laravel framework package ([Laravel](https://laravel.com)).

- receive payments, adding just the two callbacks

#### Laravel 5.3, 5.4, PHP >= 5.6.4

## Installation

Require this package with composer.

``` bash
composer require maksa988/laravel-unitpay
```

If you don't use auto-discovery, add the ServiceProvider to the providers array in `config/app.php`

```php
Maksa988\UnitPay\UnitPayServiceProvider::class,
```

Add the `UnitPay` facade to your facades array:

```php
'UnitPay' => Maksa988\UnitPay\Facades\UnitPay::class,
```

Copy the package config to your local config with the publish command:
``` bash
php artisan vendor:publish --provider="Maksa988\UnitPay\UnitPayServiceProvider"
```

## Configuration

Once you have published the configuration files, please edit the config file in `config/unitpay.php`.

- Create an account on [unitpay.ru](http://unitpay.ru)
- Add your project, copy the `project_id`, `secret_key` and `secret_key_second` params and paste into `config/unitpay.php`
- After the configuration has been published, edit `config/unitpay.php`
- Set the callback static function for `searchOrder` and `paidOrder`
- Create route to your controller, and call `UnitPay::handle` method

## Usage

1) Generate a payment url or get redirect:

```php
$amount = 100; // Payment`s amount

$email =<EMAIL_ADDRESS>// Your customer`s email

$description = "Test payment";

//

$url = UnitPay::getPayUrl($amount, $order_id, $email, $description, $currency);

$redirect = UnitPay::redirectToPayUrl($amount, $order_id, $email, $description, $currency);
```

2) Process the request from UnitPay:
``` php
UnitPay::handle(Request $request)
```

## Important

You must define callbacks in `config/unitpay.php` to search the order and save the paid order.

``` php
'searchOrder' => null  // UnitPayController@searchOrder(Request $request)
```

``` php
'paidOrder' => null  // UnitPayController@paidOrder(Request $request, $order)
```

## Example

The process scheme:

1. The request comes from `unitpay.ru` `GET` `http://yourproject.com/unitpay/result` (with params).
2. The function`UnitPayController@handlePayment` runs the validation process (auto-validation request params).
3. The method `searchOrder` will be called (see `config/unitpay.php` `searchOrder`) to search the order by the unique id.
4. If the current order status is NOT `paid` in your database, the method `paidOrder` will be called (see `config/unitpay.php` `paidOrder`).

Add the route to `routes/web.php`:
``` php
 Route::get('/unitpay/result', 'UnitPayController@handlePayment');
```

> **Note:**
don't forget to save your full route url (e.g. http://example.com/unitpay/result ) for your project on [unitpay.ru](unitpay.ru).

Create the following controller: `/app/Http/Controllers/UnitPayController.php`:

``` php
class UnitPayController extends Controller
{
    /**
     * Search the order in your database and return that order
     * to paidOrder, if status of your order is 'paid'
     *
     * @param Request $request
     * @param $order_id
     * @return bool|mixed
     */
    public function searchOrder(Request $request, $order_id)
    {
        $order = Order::where('id', $order_id)->first();

        if($order) {
            $order['_orderSum'] = $order->sum;

            // If your field can be `paid` you can set them like string
            $order['_orderStatus'] = $order['status'];

            // Else your field doesn` has value like 'paid', you can change this value
            $order['_orderStatus'] = ('1' == $order['status']) ? 'paid' : false;

            return $order;
        }

        return false;
    }

    /**
     * When paymnet is check, you can paid your order
     *
     * @param Request $request
     * @param $order
     * @return bool
     */
    public function paidOrder(Request $request, $order)
    {
        $order->status = 'paid';
        $order->save();

        //

        return true;
    }

    /**
     * Start handle process from route
     *
     * @param Request $request
     * @return mixed
     */
    public function handlePayment(Request $request)
    {
        return UnitPay::handle($request);
    }
}
```

## Changelog

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

## Security

If you discover any security related issues, please send me an email at<EMAIL_ADDRESS>instead of using the issue tracker.

## Credits

- [Maksa988](https://github.com/maksa988)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

repository: gayanov/laravel-unitpay

repo_name: gayanov/laravel-unitpay


text:
# Jina Workshop: Image Search with Pokemons

## Colab

Use the following link: https://colab.research.google.com/github/jina-ai/workshops/blob/main/pokedex/workshop.ipynb

Alternatively, you can run it locally. Follow the guide below:

## Before the workshop

**NOTE** Make sure you've done this *before* the workshop.

### Operating System

At the moment Jina only works on **Linux and MacOS**.

For Windows, you will need to install the Windows Subsystem for Linux (WSL).
Make sure you are installing **WSL2**, by following the guide [here](https://docs.microsoft.com/en-us/windows/wsl/install-win10).

Alternatively, you can use a Virtual Machine or a Docker container.

### Requirements

We recommend creating a fresh virtual environment for Python (due to version conflicts with Tensorflow, the example only works on **Python 3.7**).
Use either `virtualenv` or `conda`, as you prefer.

Install the requirements by issuing the following: `pip install -r requirements.txt`

### Data and model

You should also download the data and the pre-trained model before the workshop, as they are quite large.
Use the following commands:

```
sh ./get_data.sh
sh ./download.sh
```

## During the workshop

Follow along with the [notebook](./workshop.ipynb).
Start Jupyter Lab (an improved version of Jupyter Notebook) with `jupyter lab .`

repository: jakubzitny/workshops

repo_name: jakubzitny/workshops


text:
---
type: rule
title: Git - Do you know when to create a fork vs a branch?
uri: fork-vs-branch
authors:
  - title: Aman Kumar
    url: https://ssw.com.au/people/aman-kumar
  - title: Lee Hawkins
    url: https://www.ssw.com.au/people/lee-hawkins
  - title: Piers Sinclair
    url: https://ssw.com.au/people/piers-sinclair
related:
  - avoid-large-prs
created: 2023-03-01T04:25:25.111Z
archivedreason: ""
guid: 7ef3fe5d-0114-49b1-98c1-fad32caafb5e
---
When starting to work on a project, it's common to wonder whether to fork an existing repository or create a new branch for it. Before making this decision, it's important to consider the key differences between the two options.

<!--endintro-->

### Figuring out whether to fork or branch

Generally, branching is a default option if you're working on a team developing a product. However, if you run into someone else's product and have new ideas you want to try, then forking is a good option because you can work on your ideas in isolation.

**Tip:** If unsure ask yourself 3 questions...
If your answer is 'no' to any of the following questions, then you should go for a fork:

1. Do you have access to the existing repository to clone a new branch?
2. Is the change going to be part of that project and has it been approved by the Product Owner?
3. Do you or anyone you're working with on that project own the existing repository?

### Summary - Forking vs Branching

|                                           | Fork                                                                                | Branch                                                                    |
| ----------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| **Purpose**                               | Create a separate copy of a repository for significant changes or different directions | Develop new features or fix bugs without disrupting the main codebase     |
| **Relationship to the original codebase** | Completely independent repository                                                                | Linked to the original repository                               |
| **Ownership**                             | Owned by the user who created them                                                     | Owned by the repository owner                                             |
| **Scope of changes**                      | Typically involve significant changes                                        | Typically involve smaller changes                                         |
| **Collaboration**                         | Used to develop ideas in isolation from the main team        | Used to develop ideas that the main team is working on |

gha_language: TSQL


text:
Jrodb
===============

see http://teamon.github.com/jrodb

Author: Kacper Cieśla, Tymon Tobolski

Small library I wrote for fun too have even more fun with db4o and jruby :)
Lots of thanks for Marcin Mielżyński (lopex) for helping me with this.

Requirements
============
All you need to use jrodb is [JRuby](http://jruby.codehaus.org/) 1.2.0.

Getting started
===============
    git clone git://github.com/teamon/jrodb.git
    cd jrodb
    rake install

Usage
=====

#### Model file
    # app/models/cat.rb
    class Cat
      include Jrodb::Model

      field :name, String
      field :age, Fixnum
    end

#### Generate and compile
    jrodb generate app/models
    jrodb compile app/models

#### Require jrodb
    require 'rubygems'
    require 'jrodb'

#### Load models
    Jrodb.load_models
    Dir["app/models/*.rb"].each {|f| require f }

#### Connect to database
    Jrodb::Database.setup :dbfile => 'simple.db'

#### Create some objects
    Cat.create(:name => "Kitty", :age => 2)
    Cat.create(:name => "Foobar", :age => 1)

#### Get them from database
    Cat.all

#### Close database
This step is not necessary - database gets closed automaticly when process ends.
    Jrodb::Database.close

#### Run program
Due to classpaths issue the best way to run this program is to use jrodb executable.
    jrodb run main.rb

### Relations

#### One to Many
    class Cat
      include Jrodb::Model

      field :name, String
      field :age, Fixnum

      belongs_to :person
      belongs_to :owner, :class => Person
    end

    class Person
      include Jrodb::Model

      field :name, String

      has_many :cats
      has_many :friends, :class => Cat, :key => :owner
    end

    p = Person.create(:name => "Foo")
    c = Cat.new

    p.cats
    p.cats.new
    p.cats.create

    c = Cat.new
    p.cats << c
    p.cats.delete(c)
    p.cats.destroy_all!

    c.person = p

### Filtering
    Cat.all # all objects
    Cat.all(:name => "Kitty") # all cats with name "Kitty"
    Cat.all{|c| c.age > 1 } # cats older than 1 year
    # etc.

### Scope
    class Cat
      scope(:young) {|c| c.age <= 2}
      scope(:old) {|c| c.age > 4}
      scope :black, :conditions => {:color => "black"}
      scope :white, :conditions => {:color => "white"}
      scope(:colorful) {|c| c.color != "black" && c.color != "white"}
      scope(:four_letters) {|c| c.name.size == 4}
      scope :kitties, :conditions => {:name => "Kitty"}
    end

    Cat.young
    Cat.old
    Cat.kitties.black.young

    # works with relations

    p = Person.create(:name => "Eric")

    p.cats.black
    p.cats.black.old.new

### Ordering
    Cat.all.order(:name.desc)
    Cat.all.order(:name.asc, :age.desc)
    Cat.all.order {|a,b| a.name.size <=> b.name.size }

extension: markdown